nil ist richtig. null gibt es in Delphi nicht, das ist C/C++ oder Java. Debug das ganze doch mal. Eventuell muss noch
Application.Initialize;
aufgerufen werden. Aber eigentlich ist es eine schlechte Idee
VCL und
nonVCL zu mischen, weil für die
VCL bestimmte Sachen initialisiert werden müssen. Davon mal abgesehen, macht es wenig sinn, es zu mischen, da die Vorteile von
VCL, sofern es überhaupt welche sind, eine kleine Exe, dadurch wieder zunichte gemacht werden.