![]() |
Probleme mit TStringList.Add?
Hallo, alle miteinander!
Ich habe in den letzten Tagen mehrfach ein Phänomen erlebt, das ich mir nicht erklären kann. Wenn ich versucht habe, einem Objekt vom Typ TStringList einen neuen Eintrag zuzufügen, ist es mitunter einfach nicht aufgenommen worden. Dies geschah in einer Schleife. Ich habe eine Textdatei analysiert und wollte verschiedene Strings in einer StringList speichern. Die StringListe hat aber bei weitem nicht alle Strings enthalten, die sie hätte enthalten müssen. Habe ich dagegen mit dynamischen Arrays gearbeitet, gab es keinerlei Probleme. Mit anderen Worten:
Delphi-Quellcode:
bereitet mir Probleme, wohingegen:
Liste := TStringList.Create;
for counter := 0 to Anzahl do begin Liste.Add(Eintrag[counter]); end;
Delphi-Quellcode:
funktioniert. Das Array ist offensichtlich umständlicher, und wenn ich schon ein Objekt in Form einer Liste haben, wollte ich es auch nutzen.
SetLength(DynArray,0);
int_counter := 0; for counter := 0 to Anzahl do begin SetLength(DynArray,int_counter+1); DynArray[counter] := Eintrag[counter]; Inc(int_counter); end; Ist mir sowohl mit Delphi 4 Enterprise als auch mit Delphi 5 Professional passiert. Kennt jemand dieses Phänomen? Kann man da etwas unternehmen? :?: Matthias [edit=Daniel B]Delphi-Tags eingefügt. MfG Daniel B.[/edit] |
Hallo mjenke
ist Eintrag auch eine StringList? wenn ja, müßte es heißen
Delphi-Quellcode:
ansonsten kenne ich das Problem nicht
for counter := 0 to Anzahl - 1 do begin
bye [edit=Daniel B]Delphi-Tags eingefügt. MfG Daniel B.[/edit] |
Hallo mjenke,
muß mich nochmal korrigieren, bin noch nicht wach!
Delphi-Quellcode:
dann sollten alle Strings dasein!
for Counter := 0 to Eintrag.Count - 1 do begin
[edit=Daniel B]Delphi-Tags eingefügt. MfG Daniel B.[/edit] |
Hallo,
steht vielleicht die Eigenschaft Duplicates auf dupIgnore? Dann werden keine Duplikate angelegt. Tschüss |
@Duffy:
Eintrag ist keine StringList. Eintrag ist ein Array von der Grösse Anzahl. Das ganze ist kein echter Code, sondern nur die Zusammenfassung des Problems. Ich hätte die Zeile auch
Delphi-Quellcode:
schreiben können. Aber das ist nicht der Kern des ganzen. Die Liste beinhaltet die hinzugefügten Strings einfach nicht... :(
for counter := 0 to Length(Eintrag)-1 do begin
@Gaius: Nein. Duplicates steht nicht auf dupIgnore. Ausserdem wären es auch keine Duplikate. Ich habe noch keine Regelmässigkeit darin entdeckt, welche Einträge nicht aufgenommen werden... Trotzdem danke für die Vorschläge... :( Matthias [edit=Daniel B]Delphi-Tags eingefügt. MfG Daniel B.[/edit] |
Re: Probleme mit TStringList.Add?
Moin,
ich habe genau das gleich Problem; also das der Add Befehl für die StringList einfach nicht angenommen wird... Ich habe eine Liste die CARS heisst. Diese habe ich ordentlich erstellt mit dem Create Befehl erstellt. Wenn ich per Add Befehl dann etwas einfügen will, ist der Eintrag aber einfach nicht drin... Das Result von dem Add Befehl ist nicht -1, also sollte es eigentlich geklappt haben... hat es aber nicht... hier noch mal die Übersicht der Befehle!
Delphi-Quellcode:
Natürlich habe ich auch schon versucht das ganze ohne die Umweg-Variable zu machen, welche vom Typ String ist, aber das klappt auch nicht. Die Umweg-Variable ist gefüllt.
Cars := TStringList.Create;
Umweg := FAdo.AQFHZ.FieldByName('ID').AsString; Cars.Add(Umweg); Any Ideas?! Grüsse, Ricane |
Re: Probleme mit TStringList.Add?
kann es vielleicht sein, daß ihr leere Strings in die TStringList
füllt und beim Lesen halt zwischendurch nix angezeigt bekommt, weil eben halt nix zu sehen ist? macht doch mal ne Überprüfung auf leere strings drumherum |
Re: Probleme mit TStringList.Add?
Nee, die Zeilen laufen ja direkt so ab... da sind nirgendswo noch leere Strings dazwischen...
Ach ja, eine Zeile hab´ ich im oberen Code noch vergessen... Sie müsste zwischen der ersten und der zweiten Zeile stehen und lautet:
Delphi-Quellcode:
Cars.Clear;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:58 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