![]() |
AV bei angepasster TObjectList
Hi ihr,
da sich das ganze nun häuft mach ich hier nun nen Sammelthread draus -.- Nachdem das letzte Problem an meiner angepassten TObjectList behoben war tat sich gleich das nächste auf. Und nach 2 Stunden debugging und verständnislosen auf den Bildschirm starren hier nun mein Hilferuf :D Code der eigenen Funktion in der TObjectList:
Delphi-Quellcode:
Hier der Aufruf:
procedure TNonFoodList.Suchen(locNonFoodList: TNonFoodList; KeyWord: string);
var I: Integer; begin for I := 0 to Self.Count - 1 do begin if ContainsText(TArtikel(Self.Items[I]).Artikelname, KeyWord) then begin locNonFoodList.Add(TArtikel(Self.Items[I])); Continue end Else if ContainsText(FloatToStr(TArtikel(Self.Items[I]).Menge), KeyWord) then begin locNonFoodList.Add(TArtikel(Self.Items[I])); Continue end Else if ContainsText(FloatToStr(TArtikel(Self.Items[I]).Preis), KeyWord) then begin locNonFoodList.Add(TArtikel(Self.Items[I])); Continue end Else if ContainsText(FloatToStr(TArtikel(Self.Items[I]).Kosten), KeyWord) then begin locNonFoodList.Add(TArtikel(Self.Items[I])); end; end; end;
Delphi-Quellcode:
Über die Verwendung lässt sich streiten. Aber es erfüllt den Zweck. Ich überleg mir hier eventuell noch den Index des Objects in der Tag eigentschaft oder so zu hinterlegen um auf den Aufruf von Suchen zu verzichten.
locNonFoodList.Create;
locNonFoodList.OwnsObjects:=false; NonFoodList.Suchen(locNonFoodList, s); for X := 0 to locNonFoodList.Count - 1 do begin NonFoodList.Remove(locNonFoodList.Items[X]); end; locNonFoodList.Clear; locNonFoodList.Free; Ist aber nicht das Problem, wollt das nur vorweg nehmen bevor einer meckert, mein Problem liegt da wenn ein Artikel gefunden wird und dieser der Liste hinzugefügt werden soll gibts ne AV. Message: Zitat:
Aber warum verstehe ich nicht :? |
Re: Drama mit angepasster TObjectList
Ist doch klar :P
Du machst:
Delphi-Quellcode:
Muss doch
locNonFoodList.Create;
Delphi-Quellcode:
sein.
locNonFoodList := TNonFoodList.Create;
|
Aussagekräftiger Titel
Bitte gib deinem Beitrag einen aussagekräftigen Titel. Der jetzige Titel lässt nicht erkennen, um was für ein Problem oder Frage es sich handelt. Um den Titel zu ändern, editiere einfach deinen ersten Beitrag. Damit erleichterst du das Auffinden deines Beitrages mit der Suche und ersparst anderen Mitglieder ein unnötiges Öffnen deines Beitrages.
|
Re: Mehrere Probleme mit angepasster TObjectList
@daywalker9
-.- Ich geh ins Bett heute ist nicht mein Tag :( Hab mir heut schon beim Renovieren 3x in die Finger geschnitten und so gehts dann weiter... @Luckie Done. Ausreichend? |
Re: Mehrere Probleme mit angepasster TObjectList
Und du meinst der Titel sagt jetzt mehr über deine Probleme mit der Objektliste aus? ;)
|
Re: Mehrere Probleme mit angepasster TObjectList
Zitat:
|
Re: AV bei angepasster TObjectList
Hallo,
was mir hier mißfällt
Delphi-Quellcode:
Warum steht ihr mehrfach
for I := 0 to Self.Count - 1 do
begin if ContainsText(TArtikel(Self.Items[I]).Artikelname, KeyWord) then begin locNonFoodList.Add(TArtikel(Self.Items[I])); Continue end Else if ContainsText(FloatToStr(TArtikel(Self.Items[I]).Menge), TArtikel(Self.Items[I]).XXX Wie willst du das mal Debuggen.
Delphi-Quellcode:
Und schon kannst du das besser pr Watch-Point beobachten.
var
Artikel: TArtikel; for I := 0 to Self.Count - 1 do begin Artikel:= TArtikel(Self.Items[I]); if ContainsText(Artikel.Artikelname, KeyWord) then begin locNonFoodList.Add(Artikel); Continue end Else if ContainsText(FloatToStr(Artikel.Menge), Heiko |
Re: AV bei angepasster TObjectList
Mir missfällt das ganze "gecaste" sowieso irgendwie.
Da ich ein Delphi2009 hier hab überlege ich grad ob ich das ganze auf TObjectList<T> umstelle. Da die Listen(sind mehrere verschiedene die als Container dienen) eh immer nur die gleiche Klasse beinhalten. |
Re: AV bei angepasster TObjectList
Das wäre eine gute Überlegung
|
Re: AV bei angepasster TObjectList
Zitat:
Muss doch dann von TObjectList<T> erben oder weiter von TObjectList? Also so:
Delphi-Quellcode:
Oder muss ich da schon die Klasse aufrufen? :gruebel:
TNonFoodList<T> = class(TObjectList<T>)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz