Einzelnen Beitrag anzeigen

Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#1

Oject neu instanzieren ohne vorher zu deinstanzieren

  Alt 6. Mai 2005, 15:23
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
  Mit Zitat antworten Zitat