求救!!!关于DLL的调用!

sonic_cc 2005-05-19 02:09:08
有一C开发的DLL文件

#ifndef _HUANBAO_H_
#define _HUANBAO_H_

//使用此函数发送信息到服务器,成功返回0,失败非0.
//返回值小于0,则是网络问题,数据保存在数据库中,网络恢复以后再发.
// 发送数据库内保存的数据用一单独线程自动完成.调用者不需要处理.
//返回值大于0,则是info结构错误,需要修改后重新发送.(暂时未实现)
//info内容是xml,自包含编码信息.len是info的长度
//thepool是程序使用的内存池,如果是null则使用自己的内存池
API_DECLARE_NONSTD(int) update_huanbao_info(const char *info,unsigned int len);

//此函数内部使用.
API_DECLARE_NONSTD(int) update_huanbao_info_pool(const char *info,unsigned int len,void * thepool);

#endif /* _HUANBAO_H_ */

我用VB以调用系统API函数的方式调用第一个函数,但是由于第一个参数是字符指针,不知VB该如何调用。
我之前试了用字符串,数组等方式作为实参先声明,但是都会报“bad dll calling convention”,但是与该DLL文件配套的监听程序已经正确收到了我发的字符串,请问这是怎么回事?有什么办法正确的调用该函数呢?在线等!!!
...全文
99 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
supergreenbean 2005-05-19
  • 打赏
  • 举报
回复
我怀疑是你dll函数不是__stdcall调用约定的,把API_DECLARE_NONSTD宏的代码贴来看看
sonic_cc 2005-05-19
  • 打赏
  • 举报
回复
试了下,还是同样的错!:(
明天就是最后一天了!!!!求救啊!
TechnoFantasy 2005-05-19
  • 打赏
  • 举报
回复
可能是第二个参数的约定错误,定义应该是这样:

Declare function update_huanbao_info(ByVal info as String, ByVal len As Long) As Long

1,486

社区成员

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

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