Hallo zusammen,
ich brauche wg. Typumwandlung ( list := TObjectList<TDN>(AObject) )
2 Objekte (also list u. AObject), die ich manuell freigeben muss.
Meine Frage (s. Quellcode):
gibt FreeAndNil(obj1) auch obj2 frei u. wenn ja, wie kann ich prüfen, ob auch
der Inhalt von obj2 aus Speicher freigegeben ist?
Und weshalb kann ich obj1 mehrfach freigeben u. obj2 nicht mehr?
Meine Idee ist:
Sowohl den Speicher von obj1 u. obj2 freigeben u. beide auf nil setzen.
Delphi-Quellcode:
procedure testFreeAndNil;
var
obj1, obj2: TestKlasse;
begin
obj1 := TestKlasse.Create;
obj2 := obj1;
FreeAndNil(obj1);
obj1.Free; {klappt auch nach obigem FreeAndNil(obj1) }
// obj2.Free; {falls nicht auskommentiert: Ungültige Zeigeroperation}
end;