![]() |
Rückkehr nach Showmodal
Hallo,
habe die Suche schon benutzt, aber ich schaff es einfach nicht mein Problem zu beheben. Und zwar öffne ich aus meinem Hauptformular ein anderes per showmodal. (Erst erzeuge ich sie mittels Application.CreateForm und durch die nächste Anweisung wird sie modal angezeigt.) Das Zweite Formular kann man nur über einen Button schliessen, in dem unter anderem das abläuft:
Delphi-Quellcode:
Habe es auch schon mit Close versucht, aber das Problem ist, dass mein Hauptformular deaktiviert bleibt, ich kann es nur noch über den Taskmanager oder Delphi beenden. Es reagiert auf gar keine Klicks oder Ähnliches.
self.Hide();
Habe auch schon nach dem ShowModal in der Prozedur meines Hauptformulars self.refresh oder self.SetFocus aufgerufen, genutzt hat es nichts. Wodurch kommt dieses Verhalten, und wie kann ich es umgehen? MfG spezi |
Re: Rückkehr nach Showmodal
Zeig doch mal den ganzen Code von dem Aufruf.
|
Re: Rückkehr nach Showmodal
Also, die Prozedur wird in einem Timer ausgelöst:
Delphi-Quellcode:
Und dieses setfocus bringt eben nichts.
procedure Tmainform.die_prozedur();
begin timer1.enabled:=false; Application.CreateForm(Tform2, form2); form2.showmodal(); self.setfocus(); end; Genauso wenig wie refresh. Und mir fällt auch keine andere Möglichkeit ein... |
Re: Rückkehr nach Showmodal
Ein modales Fenster schlieest man in dem man ModalResult einen Wert zuweist.
|
Re: Rückkehr nach Showmodal
Zitat:
Delphi-Quellcode:
procedure Tmainform.die_prozedur();
var meineForm : TForm2; begin timer1.enabled:=false; meineForm := TForm2.Create(Application); if meineForm.showmodal = mrOk then begin end; meineForm.Free; self.setfocus(); end; |
Re: Rückkehr nach Showmodal
Also wenn dann doch so (um den Speicherlecks vorzubeugen)
Delphi-Quellcode:
procedure Tmainform.die_prozedur();
begin Timer1.Enabled := False; with TForm2.Create( nil ) do try if ShowModal = mrOK then begin // alles mögliche abarbeiten end; finally Free; end; // self.setfocus(); <- das sollte nicht notwendig sein end; |
Re: Rückkehr nach Showmodal
;) Stimmt, vergessen
|
Re: Rückkehr nach Showmodal
Danke, klappt wunderbar :thumb:
Das es so simpel wäre, hätte ich nicht gedacht :oops: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:38 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