使用PB编写dll文件

原文出处:[url]http://www.wangchao.net.cn/bbsdetail_58124.html[/url]


在Windows CE中,所有的驱动程序都以dll形式存在。Dll文件可以用EVC来开发,也可以使用PB来开发,使用PB开发驱动程序,可以跟NK同时进行编译,要比EVC来的方便一点。这篇文章就只要介绍用PB来进行dll库开发的方法。
  使用PB来开发,首先应该在你的工作平台下面建立一个目录,用来存放源文件,同时要修改dir文件,使得编译的时候能够进到源文件所在的目录。
  编写dll的方法这里就不说了,反正就是写一堆的函数,这里主要解释一下使用PB编译,需要增加的文件。
  第一个文件是sources文件,这里给出了一个sources文件的例子:
  TARGETNAME=led
  使用TARGETNAME来指示生成目标的文件名(不包含扩展名,扩展名PB会自动加上)
  RELEASETYPE=PLATFORM
  RELEASETYPE指示该文件将要生成的类型,一共有五个取值:
  SDK:使用该类型将使得生成的目标文件被存储到%_PUBLICROOT%/Oak目录,而lib文件被放置到%_PUBLICROOT%/Sdk目录
  DDK:使用该类型将使得生成的目标文件被存储到%_PUBLICROOT%/Oak目录,而lib文件被放置到%_PUBLICROOT%/Ddk
  PLATFORM:使用该类型将使得生成的文件受平台控制
  LOCAL:该类型使得生成的文件全部放置到当前路径
  CUSTOM:该类型使得生成的文件放置到TARGETPATH制定的位置(也就是说必须要有TARGETPATH参数设置)
  TARGETTYPE=DYNLINK
  生成的目标类型,LIBRARY表示是一个lib库,DYNLINK则表示是dll,而PROGRAM则是一个exe文件
  TARGETLIBS=
   $(_COMMONSDKROOT)/lib/$(_CPUINDPATH)/coredll.lib
  TARGETLIBS指示连接需要的库的名字
  SOURCELIBS=mm.lib
  SOURCELIBS指示将于某一个lib一起连接。上面一个lib是需要什么就取什么,而这个lib则是连接所有的。
  DEFFILE=led.def
  DLL文件的def文件名
  INCLUDES=../../inc
  指定include的路径
  SOURCES=
  led.c
  指定参与该规则的所有的源文件
  第二个则使makefile文件,该文件只需要!INCLUDE $(_MAKEENVROOT)/makefile.def就可以了,建议不要修改(我也不知道如何修改)
  第三个文件是def文件,下面是一个该文件的实例
  LIBRARY led
  生成的库(.lib)文件名(PB自动生成扩展名)
  EXPORTS
   mm_init
  EXPORTS指定了需要导出的函数名称
  建立好这些文件之后,选择PB的build菜单的open build releasee directory,到达所在的目录,执行build -c,如果没有错误,就按照我们的要求生成文件了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据窗口源码介绍 (举例见d_dbit_example.srd,测试数据库为PB自带的EAS Demo DB V120) 1.第一行:release 12; 数据窗口所属PB的版本号,如果想把高版本的datawindow导入低版本的PB中要修改此数字; 2.datawindow()行 通常用修改processing属性,可以把你的数据窗口由grid变成freeform或其它类型 例:freeform:0 grid:1 3.header()行 可以整行复制粘贴,并命名为header[1],header[2],这样可以让数据窗口有多个header 4.table()行 这里全是定义的数据属性,是setitem,update,object.data等方法访问的根源 如果存在table()里的column,数据窗口里可以不存在任何对象,仍然可以访问数据窗口的数据 如果想创建一个空的数据窗口,可以只定义: release 12; table() 5.table(column行) 是第几个column,它的ID就是多少,其中也定义了是否可以update时和更新到数据表的字段名 6.table(retrieve行) 检索数据时使用的SQL语句,可以通过setsqlselect或modify("table.sqlselect")方法去动态修改 修改后要重新定义数据窗口的更新属性 7.column()行 id即是对应table(column行)里的行次,名称(name)可以随便命名,也可以没有,则默认为table(column行)里的name 8.compute()行 计算列,可以通过表达式计算显示特定值(具体函数可以见共享里的画笔函数). 9.text()行 有时可以代替计算列; 通过定义text的表达式,可以实现一列中显示两个字段值,注意结果必须要转换成string类型(而column和compute则不行); 10.htmltable()行 按照格式导出(saveas)html文件,为了保证格式的完整,数据窗口的单位最好设置成pixels GenerateCSS='1' //保持格式及颜色 Border='0' //不要table边框 CellSpacing='0' //单元格无间距(此项在界面上经常设置不上) 注: (1)Grid生成<Table>标签,Freeform生成<DIV> + <SPAN>标签; (2)生成htmltable时,不知为何会在CSS中的开始自动加一个分号";",导致excel等浏览器打开不能正常显示格式; (3)band为foreground或background的对象导不出来,可以动态修改后再导出. 11.export.xml()行 定义导出xml文件的格式,并为模板保存名称 使用时一定要设置usetemplate值 12.import.xml()行 定义导入xml文件的格式,并为模板保存名称 使用时一定要设置usetemplate值 13.表达式介绍 略 14.其它也略
PB(PowerBuilder)是一种集成开发环境(IDE),可以用于快速开发Windows应用程序。虽然PB主要用于开发桌面应用程序,但也可以使用它来创建动态链接库(DLL文件。 要使用PB编写DLL文件,可以参考以下步骤: 1. 打开PB并创建一个新的非可视对象(Non-Visual Object)。 2. 在对象中添加功能代码。这些代码可以是PB的脚本语言,如PowerScript,也可以是其他支持的语言,如C++。 3. 在构建选项中选择“构建DLL”选项。 4. 编译和构建项目,生成DLL文件。在构建过程中,PB会将代码编译为相应的二进制文件,并将其打包到DLL中。 5. 在PB中,可以使用导出函数(External Functions)和方法(External Methods)来定义DLL文件的公共接口。这些接口允许其他应用程序调用DLL中的函数和方法。 6. 在应用程序中使用DLL文件。在其他PB应用程序或其他支持DLL调用的应用程序中,使用相应的接口来调用DLL中的函数和方法。 7. 在应用程序中使用DLL时,应确保使用正确的路径和文件名引用DLL文件。 需要注意的是,使用PB编写DLL文件可能需要对PB的特定功能和设置有所了解。此外,根据DLL中包含的功能和代码,可能还需要了解C++等其他编程语言。 总的来说,使用PB编写DLL文件可以通过创建非可视对象,在对象中添加代码,并在构建选项中选择“构建DLL”选项来完成。通过定义适当的接口使得其他应用程序可以调用DLL中的函数和方法,从而实现对DLL使用扩展
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值