关于bpl文件问题(30分)

  • 主题发起人 主题发起人 hfxf1980hfxf198
  • 开始时间 开始时间
H

hfxf1980hfxf198

Unregistered / Unconfirmed
GUEST, unregistred user!
Bpl文件中包含
1、窗体文件from1,unit1.窗体上有一个Tedit框,一个按钮.(点击按钮赋值)
按钮下的事件, 引用unit2中的函数。
2、单元文件unit2.(引用unit1)。里边有一个函数。
procedure Setvalue;
Begin
Form1.Edt_1.Text:='sdfsfsdf';
End;
如果我不编译成bpl文件,主程序调用form1.点击按钮可以执行赋值语句。
如果编译成bpl文件,主程序动态调用form1,点击按钮报地址错误.(Form1=nil)
请问这是怎么回事?怎么解决这个问题?两个单元如果相互引用的话,是不是不能编译成包?
(不编译成bpl文件调用:
Form1:=Tform1.Create(nil);
Form1.ShowModal;
Form1.Free;
编译成bpl文件后,调用
procedure TForm1.btn1Click(Sender: TObject);
Var
PkHandle:HMODULE;
TmpFrm:TCustomForm;
begin
Pkhandle:=LoadPackage('Pakage1.bpl');
if PkHandle<>0 Then
begin
TmpFrm:=TCustomForm(TComponentClass(FindClass('TForm1')).Create(nil));
TmpFrm.ShowModal;
TmpFrm.Free;
End;
UnloadPackage(PkHandle)

end


 
后退
顶部