我在dll文件中编进了一个工程中的窗体单元文件想在dll文件被调用时显视该窗体,请问如何加载并让其显视出来?
我在dll中定义这样一个函数:
procedure ThreadPro();stdcall;
begin
  Form1.Create(nil);
  form1.show;
end;
这样为什么不行???
注意:form1的create事件中还有代码要执行。

解决方案 »

  1.   

    Form1 := TForm1.Create(Nil);
    Form1.show;
      

  2.   

    type
      form1:Tform;
    procedure ThreadPro();stdcall;
    begin
      Form1.create(self);
      Form1.show;
      form1.free;
    end;
      

  3.   

    我想在dll里调用exe里的函数要什么调用带参数的
    exe里的函数如下:
      function getpub(str:pchar):widestring;stdcall;
    type
    Tpub= function(ahandle:Thandle;AConn : TSocketConnection;str:Pchar):Tform;stdcall;
    Treturn=function:widestring;stdcall;
    var
      pubThandle : Thandle;
      pub : Tpub;
      return:Treturn;
      aForm:Tform;
    begin
      pubThandle:=loadlibrary('..\WELLDONE公司管理系统\1.0\public\common.dll');
      try
        if pubThandle<>0 then begin
           @pub:=GetProcAddress(pubThandle,'pub');
           @return:=GetProcAddress(pubThandle,'return');
           if (@pub<>nil) and (@return<>nil) then
           begin
              aform:=pub(WDmain.handle,WDmain.SocketConnection,str);
              aform.ShowModal;
              result:=return;
              aform.Free;
           end;
           end;
      finally
      end;
    end;
    我想在dll调用这个函数,并返回值。要什么办?
    大家帮忙一下有急用
      

  4.   

    用pchar从dll传参数到exe出现乱码,要什么办