Einzelnen Beitrag anzeigen

Perlsau
(Gast)

n/a Beiträge
 
#5

AW: Prüfen, ob ShowModal läuft?

  Alt 22. Mai 2015, 17:08
Ok... aber wie kann ich prüfen, ob das modale Form gerade offen ist oder nicht?
... oder einfach Form.Visible abfragen. Nachdem du ein Formular modal aufgerufen hast, ist die Prüfung im aufrufenden Formular sinnlos, denn die ergibt immer Visible = False. Das ist deshalb so, weil der Programmzeiger ja erst nach dem Schließen der modalen Form zurückkehrt, und nach dem Schließen einers Formulars ist Visible immer False, sonst wäre das Formular ja nicht geschlossen worden.

Oder anders ausgedrückt: Du kannst vom aufrufenden Formular aus nicht prüfen, ob ein modal aufgerufenes Formular sichtbar ist, denn du bist zu diesem Zeitpunkt nicht im aufrufenden Formular. Wenn du wieder im aufrufenden Formular bist, ist das modal aufgerufene Formular wieder geschlossen.

Ich hoffe, das war jetzt unmißverständlich

Ok... aber wie kann ich prüfen, ob das modale Form gerade offen ist oder nicht?
Während ShowModal läuft, ist fsModal in FormState gesetzt.
Delphi-Quellcode:
if fsModal in MyForm.FormState then
begin
  // VCL-Formular wird modal angezeigt
end;
Von wo aus soll denn das modal angezeigte Formular abgefragt werden?

Geändert von Perlsau (22. Mai 2015 um 17:13 Uhr)
  Mit Zitat antworten Zitat