AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Komponenten zur Laufzeit löschen

Ein Thema von idefix2 · begonnen am 20. Apr 2015 · letzter Beitrag vom 20. Apr 2015
Antwort Antwort
Seite 1 von 2  1 2      
idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#1

Komponenten zur Laufzeit löschen

  Alt 20. Apr 2015, 01:24
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?

Geändert von idefix2 (20. Apr 2015 um 01:29 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Komponenten zur Laufzeit löschen

  Alt 20. Apr 2015, 01:44
Was sagt denn die Dokumentation dazu?
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.798 Beiträge
 
Delphi 12 Athens
 
#3

AW: Komponenten zur Laufzeit löschen

  Alt 20. Apr 2015, 08:14
WSDDD ist nicht halb so griffig wie RTFM...

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#4

AW: Komponenten zur Laufzeit löschen

  Alt 20. Apr 2015, 09:12
Du hast ein D vergessen


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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#5

AW: Komponenten zur Laufzeit löschen

  Alt 20. Apr 2015, 11:52
Was sagt denn die Dokumentation dazu?
Das ist auf die Frage, ob ich bei meinen Überlegungen etwas übersehen habe, nicht besonders hilfreich.


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
Trotzdem danke für die Antworten.

Geändert von idefix2 (20. Apr 2015 um 11:58 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Komponenten zur Laufzeit löschen

  Alt 20. Apr 2015, 12:20
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.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.295 Beiträge
 
Delphi 12 Athens
 
#7

AW: Komponenten zur Laufzeit löschen

  Alt 20. Apr 2015, 12:58
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.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Benutzerbild von milos
milos

Registriert seit: 14. Jul 2008
Ort: Bern (CH)
509 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Komponenten zur Laufzeit löschen

  Alt 20. Apr 2015, 13:06
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?
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!

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? ^^
Milos
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: Komponenten zur Laufzeit löschen

  Alt 20. Apr 2015, 13:09
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?
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!

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
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Komponenten zur Laufzeit löschen

  Alt 20. Apr 2015, 13:09
Das ist Teil seiner Signatur
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:21 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