我做了个动态链接库文件。qqq.dll 在另外一个程序中想调用其中的窗体和函数,比如说调用其中的一个窗体不能用 showmodal啊时吧怎么搞好一些请高手指点!!!!!!!!!!!!!(1)、var hint:Thandle; begin
     hint:=library('d:\qqq.dll') ......调用dll程序(2)、调用其中的窗体(打开窗体录入数据)
.......................................不能用showmodal啊.

解决方案 »

  1.   

    窗体 dlllibrary kaoqin;uses
      SysUtils,
      Classes,
      Windows,
      Unt_kaoqin in 'Unt_kaoqin.pas' {Frm_kaoqin},
      Unt_kqmd in 'Unt_kqmd.pas' {Frm_kqmd},
      Unt_b in 'Unt_b.pas' {Frm_b};function ShowForm(ParentHandle:THandle):Bool;stdcall;
    begin
      Frm_kaoqin:=TFrm_kaoqin.Create(nil);
      Frm_kaoqin.Tag:=ParentHandle;
      try
        Frm_kaoqin.Show;
      except
        Frm_kaoqin.Free;
      end;
      Result:=True;
    end;exports
      ShowForm;{$R *.res}begin
    end.主程序调用
    procedure TFrm_main.Button1Click(Sender: TObject);
    type
      TPro=function(ParentHandle:THandle):Bool;stdcall;
    var
      p:TPro;
    begin
      FrmdllHandle:=LoadLibrary('d:\qqq.dll');
      if FrmdllHandle<>0 then begin
        @p:=GetProcAddress(FrmdllHandle,'ShowForm');
        if @p<>nil then begin
          p(Self.Handle);
        end else begin
          FreeLibrary(FrmdllHandle);
          ShowMessage('not found function');
        end;
      end else ShowMessage('Not Load Dll');
    end;
      

  2.   

    如果没exports
      ShowForm; 输出怎么办?是不是自已建函数在引用
      

  3.   

    dll里创建  窗体创建函数,调用的程序调用那个函数
      

  4.   

    对在DLL中是有个创建窗体的函数。但是就是不知道怎么调用啊老大比如:
    Function abs(,.....):Bool;stdcall;
    begin
     .......
     showmodal;
     ......
    end;
    在主程序疗中怎么办?他没有exports
      ShowForm    能不能举个简单的例程
      

  5.   

    他是属于一个大的DLL程序。这个窗体只是其中一部分