为什么释放含有子窗体的DLL后主窗体总是“消失”?(50分)

  • 主题发起人 主题发起人 小鱼钱钱
  • 开始时间 开始时间

小鱼钱钱

Unregistered / Unconfirmed
GUEST, unregistred user!
我在主程序中去动态调用DLL文件(DLL文件中含有子窗体,子窗体的创建也在dll中完成),子窗体可以成功显示,但是为什么在关闭子窗体之后(或者说释放DLL之后),主程序的整个界面也就看不见了(实际上相当于把窗体最小化了),我也尝试过在释放dll句柄的语句后面人为的把主程序的窗体设置成最大化,但还是不成功,请问该如何处理?
...主程序调用dll代码:
var OneHandle: THandle;
OpenForm: T_OpenForm;
begin

OneHandle := LoadLibrary('BOM_Exp.dll');
try
if OneHandle <> 0 then
begin

@OpenForm := GetProcAddress(OneHandle, 'OpenForm');
if not (@OpenForm = nil) then

OpenForm(application, IntToStr(ActiveUser_ID)])
else

application.MessageBox('调用动态链接库文件BOM_Exp.dll失败!', '系统错误', mb_IconError);

end;

finally
FreeLibrary(OneHandle);
end;

end;


...函数OpenForm()在dll中创建并释放子窗体,写法和普通窗体创建无异,冰芥出现上述问题? 该如何处理,请大虾指教,小弟先行作揖了..
 
后退
顶部