delphi实现调用dll中的窗体 代码

新建一个dLL工程,新建一个窗体 Fr_bb80 ,我们先在它的单元里加入下面一个函数:

function Report(Title:Pchar):Boolean  ;stdcall;
begin
   if Fr_bb80=nil then
   begin
         Fr_bb80:=TFr_bb80.Create(application);
         Fr_bb80.Caption:= Title;
     try
      Fr_bb80.ShowModal;
       Result:=true;
     finally
     Fr_bb80.Free;
     end;
   end;
    Result:=false;

end;

 

再在此dll工程文件(*dpr)文件中加入

 exports  Report;   //加入这个之后,外面就可以调用这个函数了.

 

 


新建一个工程,在新窗体中加一个按钮,下面就是这个按钮的完全代码:

 


type
    TLoadDLL2 = function(Title:Pchar):Boolean; stdcall;  //这个是必须的,好像叫回调函数??,它的定义与dll中公开的函数要完全一致
var
    FLoad: TLoadDLL2;   //将TLoadDLL2 实例化
    l:THandle;         
begin
      l:=LoadLibrary('CW.dll');   //动态调用刚才那个dll文件

// 给FLoad函数赋值,将指针指向  GetProcAddress(l,  'Report') ;"Report" 是这个dll公开的函数名   
      FLoad := TLoadDLL2(GetProcAddress(l, 'Report')); 

   

    if Assigned(FLoad) then   //判断是否找到这个公开的函数
            FLoad('自定义窗口的标题');  //执行函数,注意函数的参数到这时候才开始赋值
   

   FreeLibrary(l); //释放资源

 

 

 

 

以上代码在delphi7.0通过!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值