![]() |
AW: Formular korrekt Freigeben
Man kann Objekte in den eigenen Events freigeben, allerdings nur dann, wenn in den aufrufenden Funktionen nicht nochmal auf das Objekt zugegriffen wird und man das nicht irgendwie unterbinden kann.
Also nach dem END deiner Event-Methode darf nicht nochmal auf das Objekt zugegriffen werden, dann kann man sowas machen. Close bei der Form kann man überall aufrufen, da es die Form nicht sofort frei gibt, sondern der Form eine Message sendet, in der die Form freigegeben wird. PS: Da gibt die Form sich dann auch in einer eigenen Methode selber frei. :zwinker: Zitat:
Delphi-Quellcode:
Neben der Message für CM_RELEASE können/werden hier auch noch viele andere Messages ausgeführt.
Form.Caption := 'blubb';
Form.Close; Application.ProcessMessages; // oder ShowMessage('Hallo'); ShowMessage(Form.Caption); // peng... Es braucht also nichtmal Form.Close, wenn du z.B. vorher auf das [X] der Form klickst, aber das Ereignis/die Message erst jetzt verarbeitet würde.
Delphi-Quellcode:
Knopf drücken und nach über 15 Sekunden nochmal drücken
procedure TForm1.Button1Click(Sender: TObject);
var i: Integer; begin Button1.Tag := 1; // eine globale Variable for i := 1 to 15 do begin Sleep(1000); Application.ProcessMessages; Memo1.Lines.Add(Format('%d %d', [i, Button1.Tag])); Button1.Tag := Button1.Tag + 1; end; end; und dann auch einmal Knopf drücken und innerhalb der 15 Sekunden nochmal drücken. |
AW: Formular korrekt Freigeben
@himitsu
Danke für die Info... Ich hab' auch schon aus 'nem Event Objekte freigegeben... hab' dafür aber auch schon Prügel bezogen in 'nem anderen Forum. Auch wenn das in dem Fall gefunzt hat. Zitat:
Ja, manchmal sieht man das Fenster nicht, weil es zu sehr in der Mitte des Monitors direkt vor der Nase angezeigt wird... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:44 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