pb中调用vc写的dll出错,高手请进!在线等。

蟑螂工作室 2003-10-28 12:50:14
需要在pb中调用vc写的dll,总是有问题。
错误提示为:Bad runtime functin reference as line xxx
不知错误在何处,请各位高手指点。

VC中函数声明及原型如下:
头文件中:
int __declspec (dllexport) TranFile(char TransFileName[]);
.cpp中:
int __declspec (dllexport) TranFile(char TransFileName[])
{
……
}
...全文
124 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
蟑螂工作室 2003-11-06
  • 打赏
  • 举报
回复
散分喽!
liqianhong 2003-11-04
  • 打赏
  • 举报
回复
本想说的,来晚了,还讨论什么啊
incats 2003-11-04
  • 打赏
  • 举报
回复
接分!
dingzhaofeng 2003-11-03
  • 打赏
  • 举报
回复
在pb中的相应参数前加上ref关键字,因为vc中数组属于指针变量引用!
蟑螂工作室 2003-10-31
  • 打赏
  • 举报
回复
人气真差,不如将它发到vc/mfc/dll中了,现在也不改了。
各位人兄,不能来讨论一下吗?
来者有分。
蟑螂工作室 2003-10-30
  • 打赏
  • 举报
回复
开始的时候使用的是 __declspec (dllexport) 调用,而且没有使用.def导出函数
这是使vc下的dumpbin/exports dllclient.dll观看没有导出函数,但在vc下调用好使,所以我也没介意。但在pb下调用就是不好使。

后来,我查了一些资料,改用extern "C" int _stdcall 方式调用,并使用.def导出函数,
这时使用dumpbin/exports dllclient.dll就能看到导出函数,而且在pb下调用也好使。

请各位高手讨论,讨论有分。谢谢!
zhangdatou 2003-10-30
  • 打赏
  • 举报
回复
都解决了?来晚了:(
蟑螂工作室 2003-10-29
  • 打赏
  • 举报
回复
程序中的问题已解决
还有一些疑问明天和大家讨论一下
蟑螂工作室 2003-10-28
  • 打赏
  • 举报
回复
生成的dll在vc中调用好使,在VC中是使用工程中加入dllclient.lib文件,之后
#include "dllclient.h" 方式调用的。
但在pb中调用却总是出现如上的错误提示。

在pb中声明及调用如下:
public function int TranFile(ref string fn) LIBRARY "dllclient.dll"
之后在程序中使用它
I = TranFile(Fname)
IF I = 0 THEN
messagebox("OK","OK")
ELSE
messagebox("ERROR","ERROR")
END IF

不知错误处在那里?是dll本身的问题还是调用的问题,请指点。谢谢!急!
wuchaoxian 2003-10-28
  • 打赏
  • 举报
回复
//c语言中定义
extern "C" long pascal VerTest(char *ver)

函数返回值必须用:extern "C" long pascal

//pb中定义
function long VerTest( ref string ver)library "*****.dll"
pbcoder 2003-10-28
  • 打赏
  • 举报
回复
不知道,顶。
蟑螂工作室 2003-10-28
  • 打赏
  • 举报
回复
我是在pb中调用vc下生成的dll,总是出错。
急!
workhand 2003-10-28
  • 打赏
  • 举报
回复
是不是有参数的数据类型不匹配阿,在vc里不认pb的类型,等等
119119 2003-10-28
  • 打赏
  • 举报
回复
好像是看不出来有什么问题,帮你顶!

680

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder API 调用
社区管理员
  • API 调用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧