![]() |
Prüfen, ob Komponente vorhanden
Hallo DP,
eine bestimmt oftmals gelöste Frage, ich habe auf die Schnelle nichts gefunden, einer von Euch hat das aber vermutlich in 3 sekunden. Wie kann ich feststellen, ob eine Komponente (die ich zur Laufzeit erzeugt habe), bereits existiert? Ich könnte vielleicht Try - FindComponent machen, das erscheint mir aber wenig elegant. dank und gruß tom |
Re: Prüfen, ob Komponente vorhanden
Ähm, wenn du eine Komponente zur Laufzeit erzeugst, solltest du eigentlich selbst sehr gut wissen ob sie nun existiert oder nicht :gruebel:
|
Re: Prüfen, ob Komponente vorhanden
Zitat:
Hintegerund dazu: es wird eine Bibliothek von Images erstellt. Es werden eine Reihe von Bildern eingelesen, für jedes Bild ein image erzeugt und das Image erhält den Dateinamen als Komponentennamen. Im Grunde würde es also wohl tatsächlich genügen, die Liste von Dateinamen aufzuheben, nachdem ich sie erzeugt habe. Es hat sich ohnehin gelöst, weil offenbar ein Free auf eine nicht existierende Komponente auch keinen Fehler erzeugt ... |
Re: Prüfen, ob Komponente vorhanden
Ich hatte zwar seit Jahren kein Delphi mehr offen, aber sollte sowas nicht gehen? :gruebel:
Delphi-Quellcode:
if(Komponente <> nil) then ShowMEssage('vorhanden');
|
Re: Prüfen, ob Komponente vorhanden
Du kannst mit
Delphi-Quellcode:
schauen ob dieser Zeiger auf eine Komponente zeigt. Achtung: es können auch mehrere Zeiger auf diese zeigen (oder sogar auch garkeiner).
if Kompo <> nil then // oder besser mit:
if Assigned(Kopo) then Das setzt aber voraus das du beim freigeben des Objekts die Zeiger auch auf NIL setzten musst! Anstatt also Kompo.Free; aufzurufen musst du jetzt FreeAndNil(Kompo); schreiben. edit: Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:31 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-2025 by Thomas Breitkreuz