delphi中调用vc写的dll的问题

默默唐 2007-06-10 04:07:33
COMM_SDK.dll;
SDK_SW void _stdcall ClosePort(void);
SDK_SW int _stdcall Req_DownloadFile(char *strFile, char *strDest, int nCreateFlag);

这个vc编译的dll中的两个函数在delphi中如何声明引用?

有个朋友告知我在delphi中这样写:(请问这里这样写正确吗?)
procedure ClosePort; stdcall; external 'COMM_SDK.dll';
function Req_DownloadFile(strFile, strDest: PChar; nCreateFlag: Integer): Integer; stdcall; external 'COMM_SDK.dll';

但是我在delphi中调用:
ClosePort或者Req_DownloadFile('c:\aa\aa.dat','c:\bb',1)后都是提示错误:
"external exception C000008"

请问可能的原因是什么?是delphi中声明错了还是这个dll本身可能有问题?
...全文
132 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
默默唐 2007-06-11
  • 打赏
  • 举报
回复
已解决,换了个另外版本的dll成功调用!
默默唐 2007-06-11
  • 打赏
  • 举报
回复
楼上,是的,之前已经调用OpenPort了,正常打开端口了,之后再ClosePort就出错了...
  • 打赏
  • 举报
回复
声明应该没有什么问题。
不过看起来应该有一套函数,既然有ClosePort,那也应该先用OpenPort之类的吧。
默默唐 2007-06-10
  • 打赏
  • 举报
回复
可怜啊...
难道是帖子发错了地方?

1,183

社区成员

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

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