![]() |
Testen ob ein Objekt bereits erzeugt wurde
Hallo liebe Delphigemeinde,
zwar simpel aber mir fällt es leider nicht mehr ein. Wie kann ich testen, ob ein Objekt bereits erzeugt wurde? Z.b.:
Delphi-Quellcode:
Ich habe es mal probeweise mit SizeOf() probiert, was aber wie erwartet nichts sinnvolles ergeben hat.
private
{ Private-Deklarationen } FMyTestSList: TStringList; // [...] implementation procedure TMyTest.DoSomething(); begin // hier würde ich jetzt gerne testen ob das Objekt bereits durch FMyTestSList := TStringList.Create; // erzeugt wurde, und nur wenn dies noch nicht geschehen ist den Create() Befehl ausführen. end; Mit freundlichen Grüßen, BliZZarD |
Re: Testen ob ein Objekt bereits erzeugt wurde
Delphi-Quellcode:
if not Assigned(FMyTestSList) then
FMyTestSList := TStringList.Create; |
Re: Testen ob ein Objekt bereits erzeugt wurde
*Kopf-meets-Tischplatte*
Ok danke, ich wusste doch das es einfach war :oops: // Noobfrage schließen |
Re: Testen ob ein Objekt bereits erzeugt wurde
![]() PS: das geht aber nur, wenn vorher die Variable auch "genullt" war. (als Feld in einem Objekt ist dieses zum Glück standardmäßig der Fall, ansonsten mußt du explizit vorher obj:=nil; setzen) Und Freigegeben wird das Objekt dann mit FreeAndNil(obj) (oder wieder von Hand obj.Free; und obj:=nil; ), also wenn nach dem Freigeben nochmals geprüft werden soll. |
Re: Testen ob ein Objekt bereits erzeugt wurde
Wenn du erreichen willst, dass ein Objekt nur einmal erzeugt wird, dann solltest du dir das Design Pattern "Singleton" anschauen.
|
Re: Testen ob ein Objekt bereits erzeugt wurde
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz