![]() |
AW: eigenartiges Verhalten bei Onclose eines Formulars
Natürlich hattet Ihr Recht und ich wäre der Verlierer bei der Wette gewesen:P
Ich habe es nun tatsächlich so simple wie möglich aufgebaut. In FormClose: Action := caFree; FormVariable := nil; und zusätzlich werden in FormClose alle Variablen und Speicherobjekte wieder freigegeben. Besten Dank und vielen Dank für die rege Teilnahme beim großzügigen Verteilen von freiem Wissen :thumb: |
AW: eigenartiges Verhalten bei Onclose eines Formulars
FormClose?
Man gibt etwas an der Gegenstelle dessen frei, wo es erstellt wurde. In OnClose also das, was im OnShow erstellt wurde. Hast du es wirklich dort erstellt? PS: OnCreate->OnDestroy oder Create->Destroy aka Constructor->Destructor usw. |
AW: eigenartiges Verhalten bei Onclose eines Formulars
Diese Konvention hatte ich bis dato noch nicht verinnerlicht.
Macht aber auch Sinn und werde das optimieren.8-) Dann muss die globale Formvariable aber auch später auf nil gesetzt werden. |
AW: eigenartiges Verhalten bei Onclose eines Formulars
Stell dir einfach mal zwei Fälle vor
* die Form erstellen und zwei Mal anzeigen (Show+HideClose oder ShowModal) * die Form erstellen und garnicht anzeigen, sondern direkt wieder freigeben 1a. Beim zweiten Mal knallt's, weil die Form weg ist 1b. Beim zweiten Mal knallt's, weil im OnClose freigegeben wurde (natürlich ohne caFree, sondern mit caHide) 2. Es wird nie freigegeben, weil OnClose garnicht aufgerufen wird |
AW: eigenartiges Verhalten bei Onclose eines Formulars
Hm,
ich habe bisher OnHide als Gegenpart zum OnShow betrachtet. Siehe hier: ![]() |
AW: eigenartiges Verhalten bei Onclose eines Formulars
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:18 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