做了一个bpl包,如何在程序中调用呢? ( 积分: 50 )

  • 主题发起人 主题发起人 xingkong97
  • 开始时间 开始时间
X

xingkong97

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟做了一个bpl包,里面有窗体和功能程序,现在要对其进行动态调用,请问如何做?谢谢!
 
在delphi中component=>install Packages...
add就行了,
 
第一你要编译一下这个bpl包,得到dcp文件.
第二在主程序中project->options->packages->runtime packages 中add这个dcp文件
第三在主程序的use中引用你这个bpl包里面的单元
例如 一个bpl中有form1窗口
.....
uses unit1
......
procedure Tmainform.Btnform1Click(Sender: TObject);
var
form1:Tform1;
begin
form1:= Tform1.Create (Application);
form1.show;
end;
好像如果主form跟bpl不是用同一种数据库连接方式的话 好像在bpl中还要加入一些语句,不过我没碰到过,我就这么点经验了,不够详细或者不对的话希望下面的人补充和纠正一下!谢谢
 
procedure TFrmMain.Button1Click(Sender: TObject);
var
AClass: TClass;
AForm: TForm;
begin
PackageHandle := LoadPackage('BPL.bpl');
AClass := GetClass('TfrmBPLForm');
if AClass <> nil then
begin
Application.CreateForm(TComponentClass(AClass), AForm);
AForm.Show;
end;
end;
 
to bbscom:
我用了你的方法,但是在这句 AClass := GetClass('TfrmBPLForm');时,AClass总是为nil,所以下面的程序根本就不执行。请问咋办?
 
问题已解决.
 
多人接受答案了。
 
后退
顶部