Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi löschen von dynamischen Komponenten? (https://www.delphipraxis.net/120500-loeschen-von-dynamischen-komponenten.html)

-n1h1l- 11. Sep 2008 18:21


löschen von dynamischen Komponenten?
 
Hi ich habe ein rechnungsprogramm erstellt wobei mehrere labels und panels erzeug werden. wenn nun eine neue rechnung erstellt werden soll, müssen die alten aber gelöscht werden! wie bekomm ich das hin? vielen dank.

DeddyH 11. Sep 2008 18:24

Re: löschen von dynamischen Komponenten?
 
Wer ist denn der Owner der Komponenten? :glaskugel:

Bernhard Geyer 11. Sep 2008 18:25

Re: löschen von dynamischen Komponenten?
 
Wie merkst du dir denn die Komponenten oder wird wie so oft alles über FindComponent gemacht?

DeddyH 11. Sep 2008 18:30

Re: löschen von dynamischen Komponenten?
 
Wenn es für alle derselbe Owner ist und sonst keine Kompos des gleichen Typs auf demselben gibt, braucht man kein FindComponent.

Bernhard Geyer 11. Sep 2008 18:32

Re: löschen von dynamischen Komponenten?
 
Zitat:

Zitat von DeddyH
Wenn es für alle derselbe Owner ist und sonst keine Kompos des gleichen Typs auf demselben gibt, braucht man kein FindComponent.

Es kommt darauf an ob der Fragestelle das Formular neu erzeugt oder das bestehende Formular "umbauen" will. Beim "umbau" muß man natürlich selbst hand anlegen.

@Fragesteller: Kannst du mal etwas relevanten Code posten was du bisher machst?

Schau dir z.B. mal diesen Thread an.

SirThornberry 11. Sep 2008 20:20

Re: löschen von dynamischen Komponenten?
 
Also auf die allgemeine Frage wäre die allgemeine Lösung:
- Beim anlegen der Komponenten diese in eine Liste packen
- Um sie freizugeben einfach alle Komponenten in der Liste durchgehen und die Methode Free aufrufen

Natürlich kann man das auch über den Owner machen. Aber Guter Stil ist das man alles was man selbst anlegt auch wieder frei gibt (also alles wo du den Constructor selbst aufrufst auch den Destructor aufrufen)
Ausnahmen bestätigen die Regel ;-)

mkinzler 11. Sep 2008 20:23

Re: löschen von dynamischen Komponenten?
 
Also ich würde das nicht als schlechten Stil bezeichnen


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:20 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz