Versuch mal
HandleNeeded;
aufzurufen, bevor du das
MDI-Child erstellst, denn es wird nunmal ein
Handle (HWND) benötigt, welcher als Parent genutzt werden kann.
Delphi-Quellcode:
procedure TCustomForm.CreateWindowHandle(const Params: TCreateParams);
var
CreateStruct: TMDICreateStruct;
NewParams: TCreateParams;
begin
if (FormStyle = fsMDIChild) and not (csDesigning in ComponentState) then
begin
if (Application.MainForm = nil) or
(Application.MainForm.ClientHandle = 0) then
raise EInvalidOperation.Create(SNoMDIForm);
Aber so oder so muß der
MDI-Parent wirklich erst als MainForm registriert sein, wie man ebenfalls in dem Code erkennen kann.
Und das passiert erst nach dem Constructor, wie man sich gerne in TApplication.CreateForm angucken kann. (wofür es zwar auch eine Lösung gäbe, aber ein offizieller Weg ist nunmal anders)