![]() |
Re: Forms zur Laufzeit
hi ich mach grad genau ds gleiche und ich kann dir mit sicherheit sagen das die nicht richtig weg sind wenn man einfach nur close; verwendet.
sag im onClose-Event Action:=caFree; dann isses 100% weg. |
Re: Forms zur Laufzeit
Zitat:
|
Re: Forms zur Laufzeit
Hi Hansa,
hier mal ein Auszug aus der Delphi Hilfe : TCustomForm.OnClose Das Ereignis OnClose wird beim Schließen des Formulars ausgelöst. type TCloseAction = (caNone, caHide, caFree, caMinimize); TCloseEvent = procedure(Sender: TObject; var Action: TCloseAction) of object; property OnClose: TCloseEvent; Beschreibung Mit OnClose können Sie spezielle Verarbeitungen durchführen, wenn das Formular geschlossen wird. Sie können in der zugehörigen Ereignisbehandlungsroutine beispielsweise prüfen, ob in allen Feldern eines Dateneingabeformulars gültige Eingaben vorgenommen wurden. Ein Formular wird geschlossen, nachdem die Methode Close aufgerufen oder im Systemmenü die Option Schließen gewählt wurde. Der Typ TCloseEvent zeigt auf eine Methode, die für das Schließen des Formulars zuständig ist. Der Parameter Action bestimmt, ob das Formular tatsächlich geschlossen wird. Er kann die folgenden Werte annehmen: Wert Bedeutung caNone Das Formular darf nicht geschlossen werden, daher geschieht nichts. caHide Das Formular wird nicht geschlossen, sondern lediglich verborgen. Die Anwendung kann nach wie vor auf das Formular zugreifen. caFree Das Formular wird geschlossen und sein Speicher freigegeben. caMinimize Das Formular wird nicht geschlossen, sondern als Symbol angezeigt. Um das Formular in einer Ereignisbehandlungsroutine für OnClose zu schließen und freizugeben, setzen Sie Action auf caFree. Hinweis Beim Beenden der Anwendung tritt das Ereignis OnClose nur im Hauptformular, aber nicht in den untergeordneten Formularen auf. Gruß Bit |
Re: Forms zur Laufzeit
Hi,
die von mir initiierten 2 Threads haben nicht unbedingt etwas miteinander zu tun. Der dritte enthält nur eine Fortsetzung von mir (der Suche zu verdanken). Um dynamisch erzeugte Forms geht es nur hier. Der Rest hat was mit dem Speicherverbrauch zu tun. Aber es heißt ja immer: neue Frage neuer Thread. 8) Dieser Schuß kann auch nach hinten los gehen. :lol: Jetzt egal. Mir stellt sich die Frage jetzt nämlich genau anders rum. Warum soll ich die Forms überhaupt dynamisch erstellen ?? Tue ich das nicht, werden sie am Anfang erzeugt und sind eben da. Dadurch habe ich den Nachteil, der in meiner Testreihe erkennbar ist, nämlich nicht: Fehleranfälligkeit, wegen eventuell vergessener Form-Freigaben, dadurch Zeitverlust bei jedem Create und die EXE wird wohl auch schon größer. Das wäre alles weg. Tausende neu erzeugte Forms haben bisher nichts ausgemacht. Wozu also das ganze ? Wohlgemerkt, das ist nicht allgemeingültig ! Bei mir ist die Maximalanzahl der Forms genau definiert. Über die benötigte Anzahl hinaus, kommt keine mehr dazu !! ca. 300 werden es aber wohl werden. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:02 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