Code execution does not report exceptions, but the main interface does not display DLL forms。
Main Form Calls DLL Code
procedure TfrmMain.UniButton3Click(Sender: TObject);
var
f: TCreateDLLFormAsChild;
c: TControl;
begin
f := GetProcAddress(DLLHandle, 'CreateDLLFormAsChild');
if Assigned(f) then begin
c := f(UniTabSheet1);
end;
end;
DLL Form Creation Method
function CreateDLLFormAsChild(parent: TWinControl): TControl; stdcall;
var
frmResQuery: TfrmResQuery;
begin
if not Assigned(frmResQuery) then
begin
frmResQuery := TfrmResQuery.Create(UniApplication);
frmResQuery.ParentFont := False;
frmResQuery.ParentWindow := parent.Handle;
frmResQuery.Visible := true;
frmResQuery.Left := 100;
frmResQuery.Top := 100;
Result := frmResQuery;
end;
end;
exports
CreateDLLFormAsChild;
Exe How to Load Forms in DLL?
in General
Posted
HI
Exe How to Load Forms in DLL?
Code execution does not report exceptions, but the main interface does not display DLL forms。
Main Form Calls DLL Code
procedure TfrmMain.UniButton3Click(Sender: TObject); var f: TCreateDLLFormAsChild; c: TControl; begin f := GetProcAddress(DLLHandle, 'CreateDLLFormAsChild'); if Assigned(f) then begin c := f(UniTabSheet1); end; end;
DLL Form Creation Method
function CreateDLLFormAsChild(parent: TWinControl): TControl; stdcall; var frmResQuery: TfrmResQuery; begin if not Assigned(frmResQuery) then begin frmResQuery := TfrmResQuery.Create(UniApplication); frmResQuery.ParentFont := False; frmResQuery.ParentWindow := parent.Handle; frmResQuery.Visible := true; frmResQuery.Left := 100; frmResQuery.Top := 100; Result := frmResQuery; end; end; exports CreateDLLFormAsChild;