PBNI环境搭建及初步使用

本文转自:一、PBNI环境搭建及初步使用 - PBER - 博客园 

PowerBuilder Native Interface(PowerBuilder本机接口PBNI)允许将第3方程序转换为PowerBuilder对象,供PowerBuilder直接使用,也允许将PowerBuilder虚拟机嵌入到C++应用中。对于每个版本的PowerBuilder都需要编译对应版本的PBNI程序。

  下面讲解如何使用VS2013开发PB12.5版本PBNI组件环境搭配及简单PBNI应用实例:

  实现一个PBNI对象的函数of_hellopbni将参数传递进来,然后pbni函数返回,

  

1

2

3

//PowerBuilder代码

string ls_rtn

ls_rtn = pbni_obj.of_hellopbni("wxj")

  将wxj这个字符串原封不动的从of_hellopbni函数返回。

  1.   先不要启动VS2013,在系统属性中设置PB12.5的PBNI环境变量,系统属性->环境变量->新建(W)….,在编辑系统变量窗口中输入变量名称“PBNISDK125”(此名称可按自己爱好取),变量值为PB125.2PBNI安装目录,这里为“C:\Program Files (x86)\Sybase\PowerBuilder12.5\SDK\PBNI”(根据实际安装情况填写)

  2. 启动VS2013,菜单中选择“文件”->“新建”->“项目”,建立空白解决方案,如下图:


    单击确定。
  3. 建立一个VC++win32 dll项目:在解决方案资源管理器中的“解决方案PBNI”上右击弹出菜单选择“添加”->新建项目…,在弹出的添加新项目窗口中输入名称PBNIHello(名称可随意取)。


    点击确定,VS切换到win32应用程序向导,单击下步,在应用程序设置中将应用程序类型选择“dll”


    点击完成。在VS2013中,解决方案资源管理器中如下:

  4. 设置PBNI的Include和Lib路径:

    在解决方案资源管理器的PBNIHello项目上右击,弹出右键菜单选择属性,在配置属性的常规页中设置如下:配置选择所有配置,平台为win32,平台工具集为VS2013Visual studio2013 – windowsXP,字符集为UNICODE(若编译PB9的PBNI选择为使用多字节字符集)


    点击应用按钮。

    在C/C++的常规下的附加包含目录选择编译,弹出窗口中新增输入$(PBNISDK125)\include


    点击确定返回到PBNIHello属性页。


    点击应用按钮。

    在链接器的常规页的附加库目录选择编辑,弹出的窗口中新增输入$(PBNISDK125)\lib


    点击确定返回到PBNIHello属性页。

    点击应用按钮。

    在链接器的输入页的附加依赖项中选择编辑,在弹出窗口中新增输入pbni.lib

    点击确定返回到PBNIHello属性页,并在该属性页上点击确定。

  5. 打开头文件下的stdafx.h,在文件最后输入一行#include <PBEXT.H>

  6. 建立一个头文件PBNIHello.h:在解决方案资源管理器的头文件上右击弹出菜单选择“添加”“新建项目”弹出窗口中选择vc++头文件,名称为PBNIHello.h

    按添加返回,并在PBNIHello.cpp中输入#include "PBNIHello.h"

  7. 声明定义PBNIHello类:在头文件PBNIHello.h中声明PBNIHello类

     View Code

    在PBNIHello.cpp中实现PBNIHello类的Invoke和HelloPBNI方法:

     View Code

  8. 在dllmain.cpp中实现导出PBX_GetDescription、PBX_CreateNonVisualObject函数,以便生成PowerBuilder对象

     View Code

    细心的你会发现

      _T("class n_pbnihello from nonvisualobject \n") \
      _T(" function string of_hellopbni(string username) \n") \
      _T("end class \n")
     这段代码很像PowerBuilder中非可视对象的代码。此字符串就是供PowerBuilder工具生成一个PowerBuilder非可视对象的壳。

  9. 选择解决方案配置为Debug,解决方案平台为win32


    在解决方案资源管理器中的PBNIHello项目上右击弹出选择生成,VS2013开始编译代码。如有错误请修改错误直到编译成功。
  10. 在编译成功后,在解决方案的根目录下的Debug文件夹中生成一个PBNIHello.dll文件

  11. 在这个Debug目录下用PB125建立一个PB测试应用

  12. 在PBNItest库上右击弹出菜单选择“Import PB Extension….”,选择PBNIHello.dll文件打开导入PBNI对象到PB开发环境中。


    导入成功后如图

  13. 创建窗体调试运行n_pbnihello.

    

  1. 如果你按照步骤成功操作到此处,那么恭喜你,你学会了PBNI。 部署PBNI对象时候,请选用Release选项编译。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值