为何不选“build with runtime packages”的情况下,GetClass返回nil呢

程晨c 2014-04-18 04:12:56
加载bpl中的窗体时
为何不选“build with runtime packages”的情况下,GetClass返回nil呢
选择“build with runtime packages”,Getclass是可以取到类的
bpl的useage option为designtime and runtime

加载bpl窗体的代码如下

procedure TForm1.btn1Click(Sender: TObject);
var
h:HMODULE;
clsBpl:TPersistentClass;
nfrmBpl:TForm;
begin
h:=LoadPackage(ExtractFilePath(Application.ExeName)+'package1.bpl');
if h<>0 then
begin
clsBpl:=GetClass('TfrmBpl');
if clsBpl<>nil then
begin
nfrmBpl:= TComponentClass(clsBpl).Create(Application) as TForm;
nfrmBpl.Show;
end;
end;
end;

...全文
268 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
程晨c 2014-07-15
  • 打赏
  • 举报
回复
还没搞明白,未解决
喜人军 2014-07-15
  • 打赏
  • 举报
回复
楼主解决么?
程晨c 2014-07-15
  • 打赏
  • 举报
回复
窗体类已经使用 RegistClass 注册了, 现在的问题是 不选“build with runtime packages”时,GetClass返回nil 选择“build with runtime packages”时,Getclass是可以取到类的
程晨c 2014-07-15
  • 打赏
  • 举报
回复
没有人想过此问题吗?
spirit_of_cloud 2014-04-28
  • 打赏
  • 举报
回复 1
窗体类使用 RegistClass 注册了没?

5,387

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧