Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Klasseninstanzen verschwinden


McCancey - Fr 26.12.03 04:38
Titel: Klasseninstanzen verschwinden
Also...

Ich haben meinen Button, wenn der gedrückt wird, dann werden zwei Objekte von selbst definierten Klassen erzeugt, klappt so weit auch.
In den Konstruktoren dieser Klassen ist nun definiert, dass Objekte vom Typ TStringList (vgl mein letzter thread [http://www.delphi-forum.de/viewtopic.php?t=20024]) erzeugt werden, in die einige zeilen aus Textfiles eingelesen werden. Soweit auch alles Supi.
Sobald aber der Konstruktor durchgelaufen ist und die Kontrolle zurück zu dem Eventhandler für den Button geht, der die Objekte ja zuerst erzeugt hat, scheint es diese Objekte schon garnicht mehr zu geben. Als Wert der Felder erhalte ich nur noch einen 24-Bit Hexwert, sieht aus wie ein Pointer, aber von den Zeilen die zu den Stringlisten hinzugefügt werden sollen ist nichts zu sehen. Muss ich irgendwie manuell verhindern dass die erzeugten Objekte gleich wieder vernichtet werden? Oder woran kann das sonst liegen?
[/url]


catweasel - Fr 26.12.03 11:31

Hatte mal ein ähnliches Problem.
Poste bitte nochmal dein aktuellen Sourcecode
(der aus deinem anderen Thread ist schon eher veraltet, oder? Dort arbeitest du noch mit TSrings).

Catweasel


McCancey - Fr 26.12.03 11:42

Das Problem hat sich praktischerweise gerade in Luft aufgelöst... war ne Kombination aus Tippfehler und seltsamem Debuger :roll:
Ist es normal, wenn ich ein Objekt vom Typ TStringList erzeuge, dort ein paar Strings "add"e und dann einen breakpoint setze, dass ich als tooltip angezeigt bekomme "Liste = ()" obwohl definitiv Strings in der Liste sind, auf die auch zugegriffen werden kann? Ich benutze Delphi 4, ist vielleicht ein wenig überaltert, zumal simpelste Sachen wie TStringList.ReadFromFile() fehlen...


catweasel - Fr 26.12.03 12:24

Zitat:
Delphi 4, ist vielleicht ein wenig überaltert, zumal simpelste Sachen wie TStringList.ReadFromFile() fehlen...


versuchs mal mit TStringlist.loadfromfile(); :wink:


AndyB - Fr 26.12.03 20:35

McCancey hat folgendes geschrieben:
Ist es normal, wenn ich ein Objekt vom Typ TStringList erzeuge, dort ein paar Strings "add"e und dann einen breakpoint setze, dass ich als tooltip angezeigt bekomme "Liste = ()"

Ja.