Einzelnen Beitrag anzeigen

Koolance

Registriert seit: 28. Feb 2006
Ort: Kerpen
74 Beiträge
 
Delphi 6 Enterprise
 
#1

Überprüfen ob Klasse instanziert ist

  Alt 3. Nov 2006, 11:14
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;
  Mit Zitat antworten Zitat