![]() |
AW: Wie ShowModal Form aus dem HauptForm schließen?
Nur um mal mit dieser Mär mit den modalen Forms, die sich angeblich nicht von aussen schliessen lassen, aufzuräumen habe ich hier ein Beispiel-Code
Delphi-Quellcode:
Die DialogForm ist ein simple Form.
unit Form.Main;
interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.StdCtrls, Form.Dialog; type TMainForm = class( TForm ) Button1: TButton; Timer1: TTimer; { Enabled = False, Interval = 5000 } procedure Timer1Timer( Sender: TObject ); procedure Button1Click( Sender: TObject ); private FDialogForm: TDialogForm; public { Public-Deklarationen } end; var MainForm: TMainForm; implementation {$R *.dfm} procedure TMainForm.Button1Click( Sender: TObject ); begin FDialogForm := TDialogForm.Create( nil ); try Timer1.Enabled := True; FDialogForm.ShowModal; Timer1.Enabled := False; finally FreeAndNil( FDialogForm ); end; end; procedure TMainForm.Timer1Timer( Sender: TObject ); begin if Assigned( FDialogForm ) then FDialogForm.Close; end; end. |
AW: Wie ShowModal Form aus dem HauptForm schließen?
Aber wir driften vom Thema ab, denn die Fehlermeldung kommt nicht vom Versuch die Form zu schliessen, sondern vom Versuch die modal anzuzeigen.
Die Fehlermeldung ist doch sehr eindeutig: Zitat:
Delphi-Quellcode:
setzen)
OfflineForm.Visible = False
|
AW: Wie ShowModal Form aus dem HauptForm schließen?
Zitat:
Aber wie himitsu schon im anderen Thread schrieb: Hier kann man nur mutmaßen, weil zu wenige Infos vorhanden sind, und der Code keine wirkliche Aussagekraft hat. MfG Dalai |
AW: Wie ShowModal Form aus dem HauptForm schließen?
Die Mär besagte, dass es gar nie niemals nicht geht. Das galt es zu widerlegen.
Nein, warum sollte es dem Sinn einer modalen Form zuwiderlaufen? Die modale Form hindert den Benutzer daran, das modale Formular zu verlassen ... und mein Beispiel ändert an dieser Tatsache nicht das geringste. Und den Code den wir hier sehen, der löst die Fehlermeldung nicht aus. |
AW: Wie ShowModal Form aus dem HauptForm schließen?
Zitat:
Zitat:
|
AW: Wie ShowModal Form aus dem HauptForm schließen?
Zitat:
|
AW: Wie ShowModal Form aus dem HauptForm schließen?
Zitat:
Zitat:
Zitat:
Aber wie hier und im Nachbar-Thread bereits eingewendet wurde, macht das nicht wirklich Sinn, denn man ruft eine Form doch genau deshalb modal auf, um eine bestimmte Reaktion des Anwenders quasi zu erzwingen: Wenn er z.B. einen Dateinamen auswählen soll, dann kann er das nicht, wenn der Dialog nach 5 Sekunden wieder geschlossen wird. Die Umstände in Alex' Programm sind ja auch bislang streng geheim 8-) |
AW: Wie ShowModal Form aus dem HauptForm schließen?
Also ich komme mit dem Lesen nicht hinterher, aber im groben habe das Problem verstanden.
Mein Vorhaben ist folgendes, ich habe eine Anwendung = MainForm. Wenn die Anwendung offline geschaltet wird, wird OfflineForm "darüber gelegt". Wird das Programm online geschaltet - schließe ich das OfflineForm. Eigentlich ganz einfach. Nur das Schließen des OfflineForms will vom MainForm nicht klappen. Aber ich denke, ich löse das jetzt, Ihr habt mir genug wissen gegeben. Es sei denn jemand weiß besser wie ich mein Vorhaben umsetze. |
AW: Wie ShowModal Form aus dem HauptForm schließen?
Wäre es da nicht einfacher, wenn das modale Formular den Status prüft und sich selbst schließt?
|
AW: Wie ShowModal Form aus dem HauptForm schließen?
@AlexII
Zeig uns mehr Code und wir können dir helfen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:07 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