Hallo (schon wieder
),
wie beim letzten mal hat dir auch dieses mal
jaenicke den richtigen Fingerzeig gegeben. Du solltest einfach nur hingehen und die erstellungsreihenfolge deiner Formulare ändern. Wenn Dein Form2 dein MainForm ist müßte sich Deine
MDI-Problematik quasi von selber lösen. Aber nur weil das dein MainForm ist muss es der Anwender nicht als erstes sehen. Daas dürfte der Knackpunkt sein
Ein solches Problem hat man z.B. auch bei Splash-Screens. Dieser soll dem Anwender zeigen das die Anwendung geladen wird. Also soll dieses Fenster auch zuerst angezeigt werden. Aber ein anderes Formular soll Dein MainForm sein
Also ungefähr so umsetzten (in der
dpr):
Delphi-Quellcode:
Application.Initialize;
Application.CreateForm(TForm2, Form2); // <-- das hier soll dein Hauptformular sein
Application.CreateForm(TForm1, Form1); // <-- das hier soll deinen Ladezustand anzeigen
Form1.Show;
Form1.Update;
Form1.LadeAlles; // hier muss jetzt alles passieren was zum laden eben nötig ist. Und die MEthode darf erst "zurück" kommen wenn Form2 angezeigt werden soll :-)
From1.Hide;
Application.Run;
Ich hoffe, das hilft dir weiter
Und wie gesagt, du brauchst dann das ganze WM_MACH_JETZT_WEITER aus dem ersten Post wahrscheinlich nicht mehr
Gruß, Chris