Will man ganz sicher sein, das der Aufbau der Form vor dem Anzeigen eines Dialogs abgeschlossen ist, hilft ein Application.ProcessMessages vor dem Aufruf des Dialogs.
Hilft aber nicht im OnCreate, denn damit wird der Code dort ja angehalten, aber die Form wird dennoch erst nach dem Ende des OnCreate-Ereignisses fertiggestellt.
(Witzig ist nur, daß z.B. ein ShowModal im OnCreate funktioniert, auch wenn noch nicht alles fertig ist)
Selbstverständlich sollte man im
OnCreate generell weder Anzeige-Ereignisse auslösen noch auf andere Formulare (z.B. Datenmodul) zugreifen – lezteres deshalb nicht, weil weitere Formulare gewöhnlich erst erzeugt werden, nachdem das Hauptformular erzeugt wurde und man ansonsten eine Zugriffsverletzung riskiert.
Oben hatte ich mich leider vertan, denn die Reihenfolge der Ereignisse sieht tatsächlich folgendermaßen aus:
1.
OnCreate
2.
OnShow
3.
OnActivate
4.
OnPaint