Ich habe mir das ganze mal mit dem Debugger angeschaut, die Prozedur läuft ganz normal durch, so wie es sein soll, nur wenn er schließlich zu
Code:
Application.CreateForm(THauptfenster, Hauptfenster);
kommt, stürzt es ab.
Und wie hast du den Debugger "benutzt"?
Einfach F9 und dann warten bis es knallt geht ja nunmal nicht immer. Vorallem wenn der komplette Stack zerschossen und die aktuelle Codeposition voll im Arsch sind, und keine Exceptionblöcke drumrum sind, dann kann der Debugger halt nicht mehr rausbekommen wo sich das Program im Quellcode befindet und der Stacktrace ist auch nicht möglich.
Mit F7 und F8 Stück für Stück an die Fehlerstelle ranarbeiten, selber (erfolgreiche) Haltepunkte setzen, damit man im nächsten Durchlauf gleich bis da hin springen kann.
Und falls im FreePascal auch mit
RTL/
VCL-Quellcodes gedebugt werden kann, dann hilft das hier bestimmt weiter, vorallem da ha scheinbar kaum noch Code von dir übrig ist, wenn du schon alles auskommentiert hast.