AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Speicherleck nach Löschen des Parent???

Ein Thema von pesi · begonnen am 19. Dez 2016 · letzter Beitrag vom 22. Dez 2016
Antwort Antwort
Der schöne Günther

Registriert seit: 6. Mär 2013
6.222 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

AW: Speicherleck nach Löschen des Parent???

  Alt 22. Dez 2016, 16:21
Dass Parent und Owner nicht das gleiche ist habe ich verstanden.

Aber was macht das in diesem konkreten Fall für einen Unterschied? Er hat sein PageControl und fügt zur Laufzeit weitere Tabsheets hinzu. Mehr nicht.

Ohne weitere Angaben: Die Tabsheets werden zerstört wenn das Pagecontrol zerstört wird. Das Pagecontrol wird zerstört wenn sein Parent (Formular/Frame) zerstört wird. Also praktisch kein Unterschied.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#2

AW: Speicherleck nach Löschen des Parent???

  Alt 22. Dez 2016, 16:29
Wer aber ein Tabsheet als Parent hat und nicht als Owner, wird beim zerstören des Tabsheets bzw. des PageControls, nicht zerstört.

Wenn ich das hier richtig sehe, müssten die Frames sowohl als Parent, als auch als Owner, das entsprechende Tabsheet bekommen.

Wird das Tabsheet nicht zum Owner, bleibt das Frame beim entfernen des Tabsheet als Speicherloch erhalten
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.669 Beiträge
 
Delphi 12 Athens
 
#3

AW: Speicherleck nach Löschen des Parent???

  Alt 22. Dez 2016, 17:46
Auch der Parent gibt seine untergeordneten Controls frei. Ich weiß nicht, ob das schon immer so war, aber zumindest unter Delphi 7 findet sich in der Controls.pas im Destruktor von TWinControl:
Zitat:
Delphi-Quellcode:
  I := ControlCount;
  while I <> 0 do
  begin
    Instance := Controls[I - 1];
    Remove(Instance);
    Instance.Destroy;
    I := ControlCount;
  end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#4

AW: Speicherleck nach Löschen des Parent???

  Alt 22. Dez 2016, 18:00
Dann scheint das nicht zwingend zuverlässig zu sein, habs nämlich schonmal gesehen, dass der Parent weggräumt wurde und die Controls darauf dann auf einmal irgendwo "wirr in der Landschaft" übrig blieben.

Wer weiß, eventuell hab' ich da ja auch Bockmist veranstaltet.
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 12:34 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