![]() |
Komponente nur einmal pro Form/Projekt?
Hallo,
Gibt es eine Möglichkeit eine Komponente nur einmal pro Form/Projekt zuzulassen? Beispiel: Es macht sicher keinen Sinn die Komponente XPManifest mehr als einmal pro Projekt hinzuzufügen. |
Re: Komponente nur einmal pro Form/Projekt?
Du könntest im Konstruktor alle Kind-Komponenten von deinem Parent durchgehen und prüfen ob sie der gesuchten Klasse entsprechen. Wenn du eine findest, wirfst du eine Exception.
|
Re: Komponente nur einmal pro Form/Projekt?
Und dann?
Wie soll ich im Konstruktor dann das Objekt wieder freigeben? |
Re: Komponente nur einmal pro Form/Projekt?
Hallo,
warum packst du die nicht in das MainForm rein ? Falls es sich um ein "NichtForm"-Komponente handelt, könnte an das auch über singleton pattern lösen. Was macht die denn konkret ? Heiko |
Re: Komponente nur einmal pro Form/Projekt?
Hallo,
im constructor musst du VOR dem inherited Create deinen Test machen. Falls die schon im form dirn ist, erzeugst du eine Exception (raise Exception.Create). Die Exception sorgt dafür, dass die Klasse freigegeben wird, der destructor wird aufgerufen ! Einfach mal ausprobieren. (breakpoint auf den destructor) Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:40 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