Hi,
was passiert eigentlich, wenn ich ein Object mit gleicher Objectvariable neu instanziere, ohne das alte vorher deinstanziert zu haben?
Beispiel:
Ich schreibe eine Klasse Txy, die zum Beispiel die Property MyValue hat.
Ich möchte beim Start meines Programs diese Property der Klasse Txy mit einem Wert aus einer Ini-Datei belegen, auf den ich während der gesamten Laufzeit des Programms zugreifen kann.
Delphi-Quellcode:
ini:= TIniFile.create('Path');
NewXY:= Txy.create;
Try
NewXY.MyValue:= ini.ReadString('MySection', 'MyIdent', '')
Finally
ini.free
end;
NewXY darf ich ja, soweit ich das richtig verstehe, jetzt nicht deinstanzieren, da ich sonst auch meinen Wert in der Property verlieren würde, oder seh ich das jetzt falsch? Ich würde also hingehen und NewXY deinstanzieren, wenn ich das Programm beende.
Was würde aber nun passieren, wenn ich den Wert für die Property während der Laufzeit ändern wollte und das täte, indem ich den Wert vorher in der Ini-Datei überschreibe und genauso wie in dem Code oben beschrieben wieder der Property neu zuordne?
Ich hätte dann ja eine neue Instanz von NewXY ohne die alte deinstanziert zu haben. Oder wird die alte Instanz dann einfach überschrieben? Und bei Programmende alles richtig freigegeben?
Oder muss ich zwingend jedesmal die alte Instanz deinstanzieren ehe ich die neue instanziere?
Gruß
Gambit