如何多次调用DLL中的同一Form?(50分)

  • 主题发起人 主题发起人 cjh0504
  • 开始时间 开始时间
C

cjh0504

Unregistered / Unconfirmed
GUEST, unregistred user!
第一次调用dll可以打开form,关闭后再次打开出错。答对马上奉送50大洋!!!
 
假定是因为CLOSE而被FREE了FORM,那么请在DLL里设置上该FORM的ONCLOSE事件,返回ACTION为
CAHIDE.
假定是因为使用了DLL中的FORM中的一些自管理类型属性,例如STRING等,请在第一位置USES
SHAREMEM.
 
Form关闭时:
Free;
FormName=NULL;
或是关闭后FreeLibrary(DLL)
 
你的DLL接口肯定有问题!试Try...except....end;
吧!
 
procedure ShowForm(ahwnd:Handle)
var
f:TForm;
begin
Application.hwnd:=ahwnd;
f:=TForm.Create(Application);
f.show;
end;
 
可以肯定你装载时是对的,但关闭时FreeLibrary(module:thandle)
再,你的getproceaddress对吗?
 
没这么复杂呵,我又一个dll专用来写splash的,复用没问题
 
好像没大家说得复杂
代码上来,大家瞄瞄
 
后退
顶部