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:
Liste := TStringList.Create;
for counter := 0 to Anzahl do begin
Liste.Add(Eintrag[counter]);
end;
bereitet mir Probleme, wohingegen:
Delphi-Quellcode:
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;
funktioniert. Das Array ist offensichtlich umständlicher, und wenn ich schon ein Objekt in Form einer Liste haben, wollte ich es auch nutzen.
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]