DLL中的窗体创建时,经常需要传入application.handle,如下代码function ShowGraphForm(AHandle:THandle):Boolean;stdcall;
begin
 Result:=true;
 Application.Handle:=AHandle;
 with TfrmGraph.create(Application) do try
   MessageBeep(0);
   showmodal;
 finally
    free;
 end;
end;有无办法能够在DLL入口自动记录application.handle,使得不必每次都传入AHandle参数?

解决方案 »

  1.   

    可以让dll和exe都Build with runtimepackage,但发布时必须
    带上VCL包文件
      

  2.   

    刚问完这个问题,忽然想到DLL本身就是多个程序共享的,不传参数肯定是不行的
    楼上的“可以让dll和exe都Build with runtimepackage”也不行吧
      

  3.   

    to:weidegong(weidegong)
    让dll和exe都Build with runtimepackage
    也就是让dll和exe都共享VCL60.bpl,其中包括共享
    Applicaiton,Screen这些类的全局对象