to 中国龙:还是上次的问题。

hehong_cq 2002-03-13 10:05:00
按照你的方法,在PB执行时会出现如下提示:
Application terminated.
Error:Specified aergument type difers from required arbument type at runtime in DLL function getid.
(invalid stack pointer on return fro function call) at line 4 in clicked of object cb_1of test.
即在执行GetId函数时中断了程序。
请指教!!!
...全文
10 点赞 收藏 1
写回复
1 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
llitcwl 2002-03-13
不用标准c 的char *,用VC的lpstr类试试,另外在PB中分配好接收的空间试试
试试改成参数,这样可以用REF接收
#include "stdafx.h"
#include "windows.h"
long GetId(lpstr XXX);
long GetId(lpstr XXX)
{
XXX=......
...
return 1;
}

PB中声明如下:
Function long GetId(string ref XXX) Library "MyDLL.dll"

调用脚本如下:
String ls_serial
ls_serial=space(255)
ll_i = trim(GetId(ls_serial) )
回复
相关推荐
发帖
非技术版
创建于2007-09-28

379

社区成员

PowerBuilder 非技术版
申请成为版主
帖子事件
创建了帖子
2002-03-13 10:05
社区公告
暂无公告