Eventuell Offtopic, wer weiß das schon
Das verstehe wer will, ich tu es gerade nicht.
Wenn in .dpr es automatisch erzeugt wird aber bei Aufruf nicht vorhanden ist, da stimmt doch was nicht.
Das es forciert funktioniert mag ja schön und gut sein, aber normal ist so ein Verhalten nicht.
Das hat was mit dem Timing zu tun.
Die Form wird in der
dpr definitiv erzeugt, allerdings
zu spät für den entsprechenden Codeteil. Und nur wenn es erzeugt wurde kann man es verwenden nicht wenn es erzeugt werden würde (wenn da nicht vorher die
Exception fliegt)
Ich Danke Ihnen für diese gute Erklärung.
Es war mir schon bewusst aufgrund der Fehlermeldung das dieses Objekt noch nicht existiert.
Nur kann ich es gerade nicht nachvollziehen. Ich führe mal ein paar selbst-Tests durch mit .DPR und langsamen Formularen.
Bis jetzt habe ich so ein Verhalten noch nicht erlebt, dass das Laden lange dauern kann schon.
Das ein Objekt, obwohl man es explizit Created nicht erstellt wird erscheint mir im Moment unlogisch.
Was mir einfällt wäre, wenn ich das Hauptformular Visible=True setze, kann es sein das es da schon angezeigt wird bevor Application.Run einsetzt? Sonst ist es für mich unlogisch.
Wenn ich im FormCreate von Form_Main eine Routine aufrufe, die Form_DBZugriffsdaten benötigt, dann existiert es noch nicht, da es in der
dpr erst später erstellt wird.
Mach Dir mal ein Programm mit ein paar Formularen, steck jeweils ins FormCreate was rein, um dort 'nen Breakpoint setzen zu können. Setze in der
dpr vor das Application.Initialize einen Breakpoint und gehe dann schrittweise durch.
Was wird zuerst aufgerufen? Der Breakpoint im FormCreate des ersten Formulares oder das letzte Application.CreateForm in der
dpr?