社区
PowerBuilder
帖子详情
用Pb调用DLL中的带参数的函数出现参数类型错误的提示
hbd
2000-01-31 11:30:00
...全文
290
4
打赏
收藏
用Pb调用DLL中的带参数的函数出现参数类型错误的提示
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
july
2000-02-17
打赏
举报
回复
如果你的PB是5.0以上的话,调用的DLL必须是VC4.2以上的版本产生的,另外关于PB与DLL中的各种数据类型的对应关系你要查明,我知道有很多的书上介绍这个问题,但是我可不会记得的,如果是PB5.0以下,你就自求多福了
killerking
2000-02-01
打赏
举报
回复
同意929的说法,我最近就为其他人解决过此类问题。
在调用一个DLL时,请你注意以下这个问题:
PB的数据类型
int/uint 16bits
long/ulong 32bits
而我们在Windows 95/98/NT做开发时
int/unit 32bits
long/ulong 64bits
在PB调用它们时就会出现错误。
929
2000-02-01
打赏
举报
回复
在PB中调用DLL应该注意DLL函数中的参数声明与PB自身数据类型的转换问题,另外PB与VB类似,也有传值和传引用的做法,可在调用时试试。
kxy
2000-01-31
打赏
举报
回复
那就是参数类型不对,请改匹配的就行了.
pb
调用
dll
实例
--- 动态链接库(Dynamic-Link Library),简称
DLL
,是基于Windows程序设计的一个非常重要的组成部分。使用
DLL
有许多优点:(1)使用
DLL
的动态连接不是将库代码拷贝,只在程序
中
记录
函数
的入口点和接口,在程序执行时才将库代码装入内存,如果有多个程序使用相同的
DLL
,也只需将
DLL
在内存
中
装载一次,节省了内存开销。(2)
DLL
是基于Windows的程序模块,它不仅包含可执行代码,还可以包含数据,各种资源,扩大了库文件的使用范围。(3)对于一个大型的、不断更新的应用程序,可以将许多重复的功能写成
DLL
,用主程序
调用
,这样既减少了开发的工作量,又提高了访问速度。(4)
DLL
丰富了PowerScript语言的编程能力,可以使用PowerScript
函数
集之外的
函数
。例如:用户可能编写图象处理系统来浏览文件并将其存放于数据库,该应用需使用浏览器,但用PowerScript语言未提供做这类工作的
函数
,为了操纵设备,需要与设备本身环境通信,该环境一般是厂商提供的动态链接库。(5)
DLL
独立于编程语言,大多数WINDOWS编程环境都允许主程序
调用
DLL
中
的
函数
。即可以用VC++、VB、PowerBuilder、Delphi、汇编语言等建立
DLL
,然后在不同语言编制的应用程序
中
调用
它。下面用一个实例说明通过
DLL
实现PowerBuilder程序和VC++程序之间的连接。
PB
9
调用
C++的
dll
实例
管理系统常用
pb
开发,少不了外部接口,
PB
9外部接口
调用
C++的
dll
,测试程序。
PB
调用
PB
自己制作的COM组件
2010.7.2 在QQ朋友菠菜/yun(1216297)的引导下接触到了
PB
制作COM组件应用。 1、文件夹A下用COM的向导制作了一个不可视的object,制作了最简单的
函数
,最后打包成
dll
文件。 2、利用regsvr32注册了这个
dll
。 3、文件夹B下用ole方式
调用
这个
dll
,并
调用
里面的方法,测试正常。 注意要点:经过测试可以
调用
普通
函数
取得返回值,而当
调用
函数
中
有open窗口的语句后,虽然也能打开窗口正常看到窗体
中
的控件,并且窗口的open事件也能成功执行,哪怕是dw
中
的数据也能正常显示。但是当鼠标点击任何控件都会报非法操作的
提示
,关闭窗口也是如此。而文本框的getfocus,losefocus,modify等事件也不会被触发。最后判断为
PB
调用
PB
制作的com组件时,只能
调用
非可视的object做的,而如果含有窗体的,就会经常报非法操作。估计是此种方法不被支持。 测试环境
pb
11,当A文件夹下程序编译成
dll
时如果报错,请删掉A目录下生成的没用的
dll
及其他文件,即可。 如果有哪位高人成功
调用
了
PB
下的可视化窗体又不会报错的,请不吝赐教,QQ联系方式如下。 Kair 2010.7.2 QQ:55092518
pb
9
调用
des64.
dll
做的加密解密demo
pb
9
调用
des64.
dll
做的加密解密demo 创建了两个
函数
: //************************************************************************** //名称: gf_Encrypt (as_string) //功能: 将明文加密成密文 //
参数
: as_string , 明文 //返回: 密文 //************************************************************************** //************************************************************************** //名称: gf_UnEncrypt (as_pass) //功能: 将密文解密成明文 //
参数
: as_pass , 密文. //返回: 明文 //**************************************************************************
调用
的
函数
如下: Function int b64_size(ulong size,ulong flag) Library "des64.
dll
" Function int b64_des(ref String in,ref string out,string key,ulong size,ulong flag)Library "des64.
dll
" 描述: 对一个字符串加密 Return None Access public Argument DataType Description Szin string 需加密的字符串 szout string 加密后输出字符串 key string 密钥 inlen int 需加密的字符串的长度 flag uint 0:解密,1:加密
pb
调用
vC
dll
的摄像程序
这是
pb
调用
vC
dll
的摄像程序,内有
函数
的说明
PowerBuilder
1,077
社区成员
66,438
社区内容
发帖
与我相关
我的任务
PowerBuilder
PowerBuilder 相关问题讨论
复制链接
扫一扫
分享
社区描述
PowerBuilder 相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章