Hallo.
Ich habe ein Problem, welches ich meines Wissens erst mit Delphi2010 habe. Es geht um modale Dialoge und deren Sichtbarkeit. Im Anhang habe ich mal ein Testszenario erstellt, welches das Problem demonstriert. Definiert man die Compilerdirektive "WORKING", funktioniert es, wie es sollte.
Zum Problem:
Ich habe in meiner
DPR folgenden Aufbau:
Delphi-Quellcode:
begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
SecondForm := TSecondForm.Create(Application);
Application.CreateForm(TMainForm, MainForm);
Application.Run;
end.
Die "SecondForm" wird dabei VOR dem eigentlichen Hauptformular erstellt, was in der realen Applikation der Einstellunsdialog ist, der bereits alle Daten in ein internen Objektmodell läd, welches das Hauptformular bereits beim Erzeugen benötigt.
Zum Demonstrationszwecken ruft die "SecondForm" ein weiteres Formular auf, das nur einen einfachen Text enthält (in der realen Applikation ist das z.Bsp. ein selbstgebauter Dialog).
Nun das Problem: Ruft man in der "SecondForm" mittels Button-Klick dieses dritte Formular auf, erscheint auf einmal wieder die "MainForm". Ist diese per Einstellung nun auf "Maximized" eingestellt, verschwindet die "SecondForm" gänzlich. WARUM?
Erzeugt man die "SecondForm" aber auf herkömmlichen Wege, also so:
Delphi-Quellcode:
begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TMainForm, MainForm);
Application.CreateForm(TSecondForm, SecondForm);
Application.Run;
end.
...funktioniert es! Ich bilde mir ein, das dieses Verhalten mit Delphi2009 und sicher mit Delphi7 so NICHT war.
Was kann ich tun, das sich das Programm so verhält, wie es soll (also früher)?
Vielen Dank & lieben Gruß,
Marc