PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fenster schliessen oder nicht schliessen ...


x-dragon
2003-10-08, 10:07:50
... das hier gerade nicht direkt die Frage. Naja ich steh gerade mal wieder ein wenig auf dem Schlauch. Also ich will eigentlich nur ein gbestimmtes Fenster schliessen, aber aus irgendeinem Grund schliesst sich das vorherig geöffnete Fenster auch, aber ich weiß nicht warum :???:.

Also dies wird vom Hauptfenster aus geöffnet:
FmDatArchiv := TFmDatArchiv.Create(Application);
if FmDatArchiv.ShowModal = mrOK then
FmDatArchiv.Release; Von dem eben geöffneten Fenster wird dieses per Knopf-Druck geöffnet:
FmHaupt1.pas := 2; // zur Identifikation, damit jew. richtiges Passwort abgefragt wird

PasswordDlg := TPasswordDlg.Create(Application);
if PasswordDlg.ShowModal = mrOK then
PasswordDlg.Release; ... wenn das richtige Passwort eingegeben wird, kommt dies:
// ...
case FmHaupt1.pas of
// ...
2 : if MessageDlg('Sollen alle Daten bis zum '+DateToStr(FmDatArchiv.DTP1.Date)+
' archiviert werden?', mtConfirmation, [mbYes,mbNo], 0) = mrYes then
FmDatArchiv.Archivieren;
// ...
end;

ModalResult := mrOK;
end ... wobei durch das ModalResult eigentlich nur die Passwort-Abfrage geschlossen werden sollte, aber irgendwie ist diese mit dem vorherigen Fenster verknüpft, so das dieses ebenfalls direkt anschliessend* geschlossen wird.

*das hab ich mir auch mit dem Debugger genau angeschaut, es wir kein Code zwischen schliessen des einen und des anderen Fensters ausgeführt.

x-dragon
2003-10-09, 13:41:40
Da haben jetzt schon knapp 50 hier rein geschaut, aber keiner hat eine Idee?

Ich hab mir das nochmal ein wenig in Ruhe angeschaut, und so wie es aussieht werden ja beide Fenster auf die gleiche Art und Weise geöffnet (wie oben beschrieben) und sobald ich ein ModalResult an das als 2. geöffnete Fenster sende, erhält es das 1. Fenster direkt darauf und schliest sich ebenfalls :???:.

Dafür muss es doch eigentlich eine simple logische Erlärung für geben, oder nicht?

Die Passwort-Abfrage verwende ich auch noch anderweitig im Programm, aber da fiel das Problem nicht auf, da kein weiteres Fenster zuvor geöffnet wird, und auf das Hauptfenster selbst hat es keine Auswirungen ...