Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Kein release in Finalization

  Alt 1. Jun 2017, 14:55
Delphi-Quellcode:
procedure TCustomForm.Release;
begin
  PostMessage(Handle, CM_RELEASE, 0, 0);
end;
http://www.delphipraxis.net/80112-un...orm-close.html

Form.Release macht garnichts, außer der Form zu sagen, dass sie sich demnächst bitte freigeben soll.
Wenn die Form aber dazu kommt, ist das Package schon lange weg, die Methoden und RTTI dieser FormKlasse existieren nicht mehr
und wie soll diese Form-Instanz nun freigegeben werden, wenn ihr ganzes Inneres verschwunden ist?
Da muß es zwangsläufig knallen!

.Free


Forms sind global in der VCL registiert, also in deinem Fall der Form-Zeiger auf "Schrott"
und da die VCL immer mal wieder die globale Form-Liste durchläuft, knallt es immer wieder, wenn dieser Zeiger behandelt werden soll.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 1. Jun 2017 um 14:58 Uhr)
  Mit Zitat antworten Zitat