Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Komponenten zur Laufzeit löschen (https://www.delphipraxis.net/184763-komponenten-zur-laufzeit-loeschen.html)

idefix2 20. Apr 2015 00:24

Komponenten zur Laufzeit löschen
 
Hallo,
ich generiere in einem Formular zur Laufzeit eine Reihe von Komponenten (alle vom gleichen Typ, es sind eine Reihe von Panels mit jeweils zwei Subkomponenten, die beiden Unterkomponenten haben das Panel als Parent und als Owner).

Dann würde ich gerne diese Panels wieder löschen.
Genügt folgendes Konstrukt (in einer Formularmethode), oder muss ich noch auf irgend etwas anderes achten (vor allem bez. Speicherleck) :

Code:
for i:=componentcount-1 downto 0 do
  if components[i] is TSelPanel then
     components[i].free;
self.invalidate; // damit das Formular neu gezeichnet wird und die gelöschten Komponenten auch am Bidschirm verschwinden
Die Unterkomponenten müssten ja dabei automatisch beim Löschen der TSelPanels gelöscht werden, oder muss ich dafür auch selbst den Code schreiben?
Verschwinden die TSelPanels automatisch auch aus der Komponentenliste des Formulars, oder bleiben da nach dem Free nil-Pointer zurück?

Sir Rufo 20. Apr 2015 00:44

AW: Komponenten zur Laufzeit löschen
 
Was sagt denn die Dokumentation dazu?

Sherlock 20. Apr 2015 07:14

AW: Komponenten zur Laufzeit löschen
 
WSDDD ist nicht halb so griffig wie RTFM...

Sherlock

himitsu 20. Apr 2015 08:12

AW: Komponenten zur Laufzeit löschen
 
Du hast ein D vergessen :zwinker:


Antworten:
Ja. (als Frage erkannt, auch wenn das ? fehlte)
Ja+Nein. (Fragen mit gegensätzlichem Schema lassen sich nicht so gut beantworten ... jeweils vor und nach dem Oder)
Ja+Nein.

idefix2 20. Apr 2015 10:52

AW: Komponenten zur Laufzeit löschen
 
Zitat:

Zitat von Sir Rufo (Beitrag 1298445)
Was sagt denn die Dokumentation dazu?

Das ist auf die Frage, ob ich bei meinen Überlegungen etwas übersehen habe, nicht besonders hilfreich.


Zitat:

Zitat von himitsu (Beitrag 1298461)
Fragen mit gegensätzlichem Schema lassen sich nicht so gut beantworten

Jedenfalls nicht, wenn man nur mit ja oder nein antworten darf. Das habe ich bei meinen Fragen aber nicht vorausgesetzt :-D
Trotzdem danke für die Antworten.

Sir Rufo 20. Apr 2015 11:20

AW: Komponenten zur Laufzeit löschen
 
Zitat:

Zitat von idefix2 (Beitrag 1298484)
Zitat:

Zitat von Sir Rufo (Beitrag 1298445)
Was sagt denn die Dokumentation dazu?

Das ist auf die Frage, ob ich bei meinen Überlegungen etwas übersehen habe, nicht besonders hilfreich.

Wenn du die Dokumentation gelesen hättest bräuchtest du dich nicht mit diesen Überlegungen herumschlagen.

bernau 20. Apr 2015 11:58

AW: Komponenten zur Laufzeit löschen
 
Zitat:

Zitat von Sir Rufo (Beitrag 1298488)
Zitat:

Zitat von idefix2 (Beitrag 1298484)
Zitat:

Zitat von Sir Rufo (Beitrag 1298445)
Was sagt denn die Dokumentation dazu?

Das ist auf die Frage, ob ich bei meinen Überlegungen etwas übersehen habe, nicht besonders hilfreich.

Wenn du die Dokumentation gelesen hättest bräuchtest du dich nicht mit diesen Überlegungen herumschlagen.

Ne. Da muss ich idefix2 schon Recht geben. Manchmal übersieht man beim Lesen der Doku auch etwas. Manchmal verwendet man falsche Suchbegriffe. etc.

Warum sollte man nicht fragen, wenn einem das Bauchgefühl sagt, daß man ggf. etwas übersehen hat.

Also seine Frage ist schon berechtigt und hat es verdient ernsthaft beantwortet zu werden. Oder Gar nicht.

milos 20. Apr 2015 12:06

AW: Komponenten zur Laufzeit löschen
 
Zitat:

Zitat von Sherlock (Beitrag 1298456)
WSDDD ist nicht halb so griffig wie RTFM...

Sherlock

Offtopic:
Was ist das denn?

Sehe ich gerade nicht richtig oder kann Sherlock in die Zukunft reisen? :D
http://www.smoothdev.org/p/i1qg.jpeg
Das "Weil ich es kann" könnte auch darauf hinweisen das Sherlock wirklich einen Weg gefunden hat. Teile ihn mit uns! :cyclops:

Ne jetzt mal Spass bei Seite, ist das nur bei mir so oder sieht das sonst noch jemand?
Oder kann er vielleicht doch in die Zukunft reisen? ^^

Sir Rufo 20. Apr 2015 12:09

AW: Komponenten zur Laufzeit löschen
 
Zitat:

Zitat von milos (Beitrag 1298494)
Zitat:

Zitat von Sherlock (Beitrag 1298456)
WSDDD ist nicht halb so griffig wie RTFM...

Sherlock

Offtopic:
Was ist das denn?

Sehe ich gerade nicht richtig oder kann Sherlock in die Zukunft reisen? :D
http://www.smoothdev.org/p/i1qg.jpeg
Das "Weil ich es kann" könnte auch darauf hinweisen das Sherlock wirklich einen Weg gefunden hat. Teile ihn mit uns! :cyclops:

Ne jetzt mal Spass bei Seite, ist das nur bei mir so oder sieht das sonst noch jemand?
Oder kann er vielleicht doch in die Zukunft reisen? ^^

Tja, es ist schon toll, was man so alles in die Signatur des Profils reinschreiben kann. Und die Uhrzeit sollte doch als Ironieflag ausreichend sein ;)

mkinzler 20. Apr 2015 12:09

AW: Komponenten zur Laufzeit löschen
 
Das ist Teil seiner Signatur


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:55 Uhr.
Seite 1 von 2  1 2      

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