Ich suche einen Befehl zum überprüfen ob ein Klasse bereits instanziert wurde.
Genauere Erklärung:
Schreibe gerade eine Middleware. Alle Datenzugriffe gehen über Objekte.
Beispiel Klasse Adress verwendet Klasse Titel. Klasse anrede soll aber erst instanziert werden wenn auf sie zugegriffen wird.
Das ganze liegt hinter einer Property.
Mein Gedanke war die klasse eine
exception schmeißen zu lassen wenn sie noch nicht instanziert ist und sie dann bei bedarf zu erzeugen. Das ganze ist natürlich von Gedanken her unschön, aber was noch schlimmer ist es funktioniert nicht und führt zu eine Stack-üblerlauf.
Code:
function TAddress.Gettitel: Ttitel;
begin
try
self.ftitel.InstanceSize; //wenn ich nicht existiere schmeiße ich eine
exception
self.ftitel.id:=self.ftitel.id; //auch eine
exception
except
self.ftitel:=ttitel.Create(nil,MyConnection);
self.titel.OnAfterSelectByID:=self.titelIdChange;
end;
if self.ID_TITEL <> 0 then
titel.SelectByID(self.ID_TITEL);
result:=self.titel;
end;