カスタム コンストラクターを持つ BaseForm から派生した MainForm が必要です。これは Mainform であるため、*.dpr ファイルでApplication.CreateForm(TMyMainForm, MyMainForm)を呼び出すことによって作成されます。ただし、フォームの作成中にカスタム コンストラクターが呼び出されません。
MyMainForm := TMyMainForm.Create(AOwner)を呼び出すと、明らかに正常に動作します。カスタム コンストラクターを持つフォームをメイン フォームとして使用することはできませんか?
TBaseForm = class(TForm)
constructor Create(AOwner:TComponent; AName:string);reintroduce;
end;
TMyMainForm = class(TBaseForm)
constructor Create(AOwner:TComponent);reintroduce;
end;
constructor TBaseForm.Create(AOwner:TComponent);
begin;
inherited Create(AOwner);
end;
constructor TMyMainForm.Create(AOwner:TComponent);
begin;
inherited Create(AOwner, 'Custom Constructor Parameter');
end;