delphi调用vc写的.dll时的问题

Anitee 2011-09-21 07:54:04
大家好,谁能帮忙解答下,用delphi写的程序调用vc写的.dll文件时会出现“.exe遇到问题需要关闭,我们对此引起的不便表示感谢”,但是用vc写的程序调用该.dll时是正确的,delphi写的程序调用其他.dll时也没有问题,请问是什么原因?
...全文
220 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
csps001 2011-10-25
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 zhuang_bx 的回复:]
是调用方式问题,我也碰到过.

修改成cdecl方式就可以了,

function a(const b:DWORD):PChar; cdecl; external 'c.dll';
[/Quote]

出问题一般是申明有问题或者参数有问题,cdecl和stdcall应该根据DLL中的申明来申明。
另外,不建议用上面的返回方式,PChar指针类型不建议做为返回值来使用,用返回参数形式更好一些

function a(b:DWORD; res:PChar):Integer; cdecl; external 'c.dll';
软件钢琴师 2011-10-21
  • 打赏
  • 举报
回复
没有代码 你说个国安
Anitee 2011-09-23
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 cai5 的回复:]

cdecl


自己跟踪调试一下
[/Quote]

cdecl是不行的啊
Anitee 2011-09-23
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 cai5 的回复:]

cdecl


自己跟踪调试一下
[/Quote]

cdecl不行的
快乐老猫 2011-09-23
  • 打赏
  • 举报
回复
贴源代码
zhuang_bx 2011-09-22
  • 打赏
  • 举报
回复
是调用方式问题,我也碰到过.

修改成cdecl方式就可以了,

function a(const b:DWORD):PChar; cdecl; external 'c.dll';
rainychan2009 2011-09-22
  • 打赏
  • 举报
回复
唯有自己调试了
Anitee 2011-09-22
  • 打赏
  • 举报
回复
Project xx.exe raised exception class EExternalException with message 'External exception C000001F',Process stoped.Use Step or Run to continue.这是什么?
爱蹄子的羊头 2011-09-22
  • 打赏
  • 举报
回复
这个是不是 MFC的DLL

有些 VC 写的 DLL 不是 stdcall 的
五哥 2011-09-22
  • 打赏
  • 举报
回复
cdecl


自己跟踪调试一下
cp1982 2011-09-22
  • 打赏
  • 举报
回复
你要贴代码,你直接写个有问题需要关闭,谁也不知道是什么问题呀。
Anitee 2011-09-22
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 wind2005 的回复:]

不一定是delphi代码的问题,具体问题具体对待
从你的描述来看,很有可能是DLL的问题,
帖出代码来,大家才更好为你解决
[/Quote]

应该是参数传递的问题,我想问下调试.dll时不是要个.exe来测试吗?那这个参数如何传递?
wind2005 2011-09-22
  • 打赏
  • 举报
回复
不一定是delphi代码的问题,具体问题具体对待
从你的描述来看,很有可能是DLL的问题,
帖出代码来,大家才更好为你解决
Anitee 2011-09-22
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 zhuang_bx 的回复:]

是调用方式问题,我也碰到过.

修改成cdecl方式就可以了,

function a(const b:DWORD):PChar; cdecl; external 'c.dll';
[/Quote]

不是应该是_stdcall吗?
_cdecl是C或者是C++的缺省调用方式 使用_stdcall可以允许别的语言来调用VC下编写的动态库
rainychan2009 2011-09-21
  • 打赏
  • 举报
回复
参数调用规则搞对了吗?
Anitee 2011-09-21
  • 打赏
  • 举报
回复
那问题是在delphi的代码中了?vc写的.dll需要主要什么呢?
「已注销」 2011-09-21
  • 打赏
  • 举报
回复
DELPHI调用的时候,函数写对了吗?要转换一下,一般没问题的

1,183

社区成员

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

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