Dll程序多次调用可否得到不同的句柄(标识)(200分)

  • 主题发起人 主题发起人 ssjyr
  • 开始时间 开始时间
S

ssjyr

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大富翁们:<br> &nbsp; &nbsp;关于&quot;动态调用Dll中非模态窗体,释放&quot;的问题已经解决了,用PostMessage消息的方式来解决,但小弟还有一问题,希望大家共同来探讨一下:<br> &nbsp; &nbsp;下面这段代码是Project1动态调用Project2.dll,如果两次或者多次调用Project2.dll,可否得到不同的句柄或者说标识,然后释放时就不会出错了.不知各位有没有办法?<br><br>谢谢了.<br><br>Project1:<br>procedure TForm1.Button1Click(Sender: TObject);<br>var<br> &nbsp;ProcAddr: FarProc;<br> &nbsp;DllShow: TDllShow;<br>// &nbsp;frmDll: TForm;<br>begin<br>// &nbsp;if DllHandle = 0 then<br> &nbsp;try<br> &nbsp;DllHandle := LoadLibrary('Project2.dll');<br> &nbsp;ProcAddr := GetProcAddress(DllHandle, PChar('LoadDLL'));<br>// &nbsp;@DllShow := GetProcAddress(DllHandle, PChar('LoadDLL'));<br> &nbsp;if assigned(ProcAddr) then<br> &nbsp;begin<br> &nbsp; &nbsp;DllShow := ProcAddr;<br>// &nbsp; &nbsp; DllShow := TDllShow(ProcAddr);<br>// &nbsp; &nbsp;frmDll := DllShow();<br> &nbsp; &nbsp;DllShow(Handle, wm_user);<br>// &nbsp; &nbsp;SHOWWindow(frmDll.Handle, SW_SHOWNA);<br> &nbsp;end;<br><br> &nbsp;finally<br>// &nbsp; &nbsp;freelibrary(DllHandle);<br> &nbsp;end;<br>end;
 
怎么没有人答复呢?大富翁们,大家来顶一下吧
 
帮你顶下
 
后退
顶部