[PB+Delphi]主应用程序用的是PB操作界面调用Delphi开发的DLL

Hacker流星

Hacker流星

2016-02-19 18:25

今天图老师小编要向大家分享个[PB+Delphi]主应用程序用的是PB操作界面调用Delphi开发的DLL教程,过程简单易学,相信聪明的你一定能轻松get!
 

  需求:由于最近接到这样的项目,甲方他们要求我们开发的功能加入他们原先已经存在的一个PB开发的应用程序中。唯一的目的是不想有两个exe应用程序。
  方案:把Delphi的应用程序用dll的形式打包,然后在PB里调用。
  设计
          一、 PB部分
                   1、新建一个非可视化的类n_cst_demo,我们把同一模块的调用都放到 这个类里。  
                   2、定义API调用。在Declare---Local External Functions里定义
                         //handle : 是当前窗口的句柄  ; param : 其他需要的参数 
                         SUBROUTINE  show_demo(uLong handle , String param) LIBRARY "Project1.dll"
                   3、新建一个窗体w_main。
                   4、新建一个菜单m_dll。
                   5、建一个菜单项就叫测试dll。Clicked事件里写上:
  

  

n_cst_demo n_pda

  n_pda = Create n_cst_demo

  n_pda.Show_Demo( Handle(ParentWindow) ,"ABCD1234")

  Destroy n_pda

            这样我们的PB部分就算完成了。
     

     二、Delphi部分
           1、新建一个dll Project,    

      2、新建一个Form1。保存。
        3、在project里写上代码:
  

  

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  
  

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  //记住,在Delphi里字符串参数需要用PChar类型定义
  
 oldHandle := Application.Handle ;
   //把DLL的应用的句柄改为PB里的窗口的句柄
   //目的是为了达到DLL和PB的可执行文件是属于一个应用程序
   //效果:打开DLL里的窗口后,在任务栏里不会多出现一个图标

   Application.Handle := handle ;
   Application.CreateForm(TForm1, Form1);
   try
        Form1.s_param := StrPas( param );
        Form1.ShowModal;
   finally
        Form1.Free;
        Application.Handle := oldHandle ;
   end;
  end;

  

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)       4、编译后,将project1.dll放到pb的文件夹下就可以运行了。
展开更多 50%)
分享

猜你喜欢

[PB+Delphi]主应用程序用的是PB操作界面调用Delphi开发的DLL

编程语言 网络编程
[PB+Delphi]主应用程序用的是PB操作界面调用Delphi开发的DLL

在Delphi应用程序中使用DLL

Delphi
在Delphi应用程序中使用DLL

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Delphi 应用程序的应用

编程语言 网络编程
Delphi 应用程序的应用

Delphi开发WEB应用程序打印组件

Delphi
Delphi开发WEB应用程序打印组件

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Delphi应用程序的应用(一)

Delphi
Delphi应用程序的应用(一)

Delphi应用程序的应用(二)

Delphi
Delphi应用程序的应用(二)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Win10系统怎么关闭自动更新功能

Win10系统怎么关闭自动更新功能

borland工程师如何保证父类(TStream)的两个overload的seek,至少

borland工程师如何保证父类(TStream)的两个overload的seek,至少
下拉加载更多内容 ↓