您的位置:首页 > 编程语言 > Delphi

Delphi exe动态调用加载bpl 报地址错误的解决方法

2016-04-12 14:47 726 查看
加载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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: