加载bpl:
ModuleInstance1: HMODULE;
ModuleInstance1 := LoadPackage('TestA.bpl');
显示窗口:
var
frm: TCustomForm;
begin
frm := CreateFormByClassName('TTestForm');
try
frm.ShowModal;
finally
frm.Release;
end;
end;
function CreateFormByClassName(const ClassName: string): TCustomForm;
var
AClass: TPersistentClass;
begin
AClass := GetClass(ClassName);
If AClass = nil then
exit;
Result := TComponentClass(AClass).Create(Application) as TCustomForm;
// 或Result:=TCustomForm(TComponentClass(AClass).Create(Application));
end;
------------------------------------------------------------------------------------------------------------------------
问题出现在取值AClass时总提示为nill,
原因可能为:主程序exe没有勾选 build with run package