![]() |
Überprüfen ob Komponente existiert
Wie finde ich heraus, ob eine Komponente schon vorhanden ist (in meinem Fall ein während der Laufzeit erstelltes Edit-Feld) ?
MfG FeliX |
Re: Überprüfen ob Komponente existiert
Ich würde über einen try-Block irgendeinen Wert abfragen, bei Exception weißt du, dass es sie nicht gibt...aber ich glaube meine Variante ist die schlechteste (vom Programmierstil her gesehen)
Flare |
Re: Überprüfen ob Komponente existiert
Delphi-Quellcode:
Form.FindComponent(..);
|
Re: Überprüfen ob Komponente existiert
Ok, dankeschön ;)
Habs jetzt mit
Delphi-Quellcode:
Gruß Felix
If FindComponent('Edit1') <> nil then..
|
Re: Überprüfen ob Komponente existiert
als programmierer sollte man doch wissen ob in dem Programm von einem eine bestimmte Komponente erstellt wurde schließlich erstellt die sich ja nicht von alleine. :roll:
|
Re: Überprüfen ob Komponente existiert
Doch, das geht, wenn man sie zur Laufzeit erstellt und eben eine Variable als Index nimmt und nebenbei immer mal welche löscht.
Also allzu utopisch ist das nicht :wink: Flare |
Re: Überprüfen ob Komponente existiert
dann ist das aber nicht wirklich eine saubere Programmierweise. Wenn ich ein Object erzeuge dann hängt ich es in eine Liste oder weiß die Instanz auf eine Variable zu, schließlich will ich ja auch die Möglichkeit haben zu jeder Zeit eine erzeugte Komponenten wieder frei zu geben.
|
Re: Überprüfen ob Komponente existiert
Immer wenn ich die rechte Maustaste drücke (in einer Listbox) wird ein Edit-Feld dort erstellt, wo sich der Mauszeiger befindet.
Daher wäre es doof, wenn bei jedem Rechtsklick ein neues Feld erstellt wird.. :stupid: |
Re: Überprüfen ob Komponente existiert
du könntest in diesem Fall bei jedem erstellen das Edit in eine Objectliste packen.
|
Re: Überprüfen ob Komponente existiert
Man könnte auch immer das selbe Edit-Feld nehmen und es nur in Bezug auf seine Position, Inhalt und Sichtbarkeit ändern. Bei der beschriebenen Art der Verwendung ist das neu Erstellen und Freigeben nicht wirklich nötig.
mfg wo |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:19 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