![]() |
Modales Fenster beim Schliessen eines Modalen Fensters öffne
Hallo Wissende!
Ich habe ein Formular mit ShowModal geöffnet und möchte dieses Schliessen und direkte danach ein anderes Formular mit Showmodal aufrufen. Leider klappt das nicht ganz wunschgemäss. Wenn ich dieses Fenster aus dem 1. modalen Formular beim Schliessen aufrufe, wird das 2. Formular modal angezeigt noch bevor das 1. Formular wirklch geschlossen wurde. Welche Lösung schlagt Ihr dafür vor? |
Re: Modales Fenster beim Schliessen eines Modalen Fensters ö
Moin, Moin,
entweder modales Fenster 1 auf visible = false stellen bevoer Modal 2 aufgerufen wird oder Modal 2 vom Hauptaufrufspunkt aus aufrufen wo Du auch Modal 1 her aufgerufen hast. Grüße // Martin |
Re: Modales Fenster beim Schliessen eines Modalen Fensters ö
Professionell ist die Lösung mit nur einer Kontrollinstanz.
|
Re: Modales Fenster beim Schliessen eines Modalen Fensters ö
Hai torud,
wie sieht denn dein Quellcode aus? Wenn ich das so mache sieht es eigenltlich richtig aus ;-)
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var newFormClass : TFormClass; newForm : TForm; begin newFormClass := TForm2; // Form 2 newForm := newFormClass.Create(self); newForm.ShowModal; // Modal anzeigen newForm.Free; newFormClass := TForm3; // Form 3 newForm := newFormClass.Create(self); newForm.ShowModal; // Modal anzeigen newForm.Free; end; |
Re: Modales Fenster beim Schliessen eines Modalen Fensters ö
Hallo!
Also mein derzeitiger Code sieht so aus:
Delphi-Quellcode:
Tassi_new_projekt ist das Modale Formular 1 und wenn dort eine Checkbox aktiviert ist, soll direkt ein anderer Assistent aufgerufen werden => assi_editor!
procedure Tassi_new_projekt.btn_prj_createClick(Sender: TObject);
begin self.Close; assi_editor.ShowModal; end; Das mit dem Visible:=flase ist nicht mein Ding. Das wäre nicht so edel, denke ich. Im Notfall mache ich es so, dass ich dann dem Hauptform einen Befehl übergebe. Ich hoffe nur, dass der Befehl dann nicht noch vor dem Close ausgeführt wird. Ansonsnten werde ich mal den Vorschlag von Stephan in Erwägung ziehen! |
Re: Modales Fenster beim Schliessen eines Modalen Fensters ö
Zitat:
Dann könntest Du es so machen:
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var myForm2 : TForm2; myForm3 : TForm3; showForm3 : Boolean; begin myForm2 := TForm2.Create (self); try myForm2.ShowModal; showForm3 := myForm2.CheckBox1.Checked; finally myForm2.Free; end; if (showForm3) then begin myForm3 := TForm3.Create(self); try myForm3.ShowModal; finally myForm3.Free; end; end; end; |
Re: Modales Fenster beim Schliessen eines Modalen Fensters ö
Mille Gracie!
Ich muss dann eben die 2 Formulare aus der automatisierten Erzeugung herausnehmen, damit sie nicht doppelt erzeugt werden - richtig??? |
Re: Modales Fenster beim Schliessen eines Modalen Fensters ö
Zitat:
Ich mache das immer so. In der Regel wird bei mir nur die MainForm automatisch erzeugt (eventuell noch ein TDatenModul wenn es eine Datenbank Anwendung ist). Wenn alle Forms beim Programmstart erzeugt werden muss nämlich auch für alle der Speicher reserviert werden. Und das obwohl sie womöglich nie gebraucht werden ;-) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16: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