需求:由于最近接到这样的项目,甲方他们要求我们开发的功能加入他们原先已经存在的一个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,
3、在project里写上代码:
|
library project1; uses {$r *.res}
end; //记住,在delphi里字符串参数需要用pchar类型定义 exports begin |
--------------2005年1月9日13:24:02 joecom(juwuyi)