Forum: Programmieren allgemein
by mirage228,
21. Okt 2004
Hi,
du kannst auf jedes Einzelne Element der Objektliste zugreifen. Wenn Du n Elemente hast geht der Index von 0 bis n-1, also Ist ObjList der erste Eintrag.
Jedoch verwaltet TObjectList den Datentyp TObject. Da wir aber TOpenDialogEntity drin haben, müssen wir den Listeintrag von TObject nach TOpenDialogEntity "casten" (Typecast).
Hier nochmal ausführlich:
var
Item:...
Forum: Programmieren allgemein
by mirage228,
21. Okt 2004
Gerngeschehen :)
mfG
mirage228
Forum: Programmieren allgemein
by mirage228,
21. Okt 2004
Es wird ein neues Item erzeugt, richtig. Jedoch ist das alte Item ja noch im Speicher erhalten (da es ja explizit freigegeben werden muss). Item zeigt aber nun nicht mehr auf dieses, sondern auf das nun mit Create erstellte Item. Die ObjectList zeigt noch auf das alte "Item".
Daher sind alle korrekt in der ObjektListe drin.
mfG
mirage228
Forum: Programmieren allgemein
by mirage228,
21. Okt 2004
Hi,
soweit ich weiss werden nur Datentypen wie Integers entfernt, falls die Prozedur verlassen wird. Der für das Objekt assoziierte Speicher muss explizit mit .Free() (bzw. dem TObjectList.Free(), falss OwnsObjects = True) freigegeben werden.
mfG
mirage228
Forum: Programmieren allgemein
by mirage228,
21. Okt 2004
Hi,
das eintragen kannst Du so lösen:
uses
Contnrs;
// Du kannst diese Prozedur so oft aufrufen, wie Du willst ;)
procedure SpeichernOderSo;
var