高分求解!!!(100分)

lingice 2001-10-09 09:10:02
各位大虾,
最近我用Delphi做一个接口程序,在程序中我要调用一个用VC++编写的DLL文件,可是
我在程序中调用任何一个DLL里的函数事都出现error对话框,其中一个里面的详细内容如下:
Project IFace.exe raised exception class EAccessViolation With Message'Access
violation at address 1000236F in module'MhsAPI.dll'.Write of address 004019D2'.
Process stopped.Use Step or Run to continue.
调用其他函数时报出的error对话框的内容差不多,就是在地址上有所不同。我的开发环境是
Delphi 5 + Windows 2000 sp2。我对照那个DLL文件的头文件写了一个Delphi格式的声明,我
用“静态”方法来调用DLL文件里的函数。
请问出现这种错误是因为什么原因?有什么解决方法?

谢谢!
...全文
112 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
码农界扛把子 2001-12-12
  • 打赏
  • 举报
回复
lingice(编程浪子)你还想不想混了!
lingice 2001-12-03
  • 打赏
  • 举报
回复
我已经解决了。谢谢!
chechy 2001-10-10
  • 打赏
  • 举报
回复
你不妨把C和Delphi的声明都贴出来看看。
lingice 2001-10-10
  • 打赏
  • 举报
回复
我加上了,可是错误依旧!!!
Help Me!!!!!!!!!!!!!!!!!!!!!!!!!!!!
chechy 2001-10-09
  • 打赏
  • 举报
回复
那么Delphi的函数,也不许加入cdcel的声明。
比如
function HelloWorld: Integer; cdcel;
lingice 2001-10-09
  • 打赏
  • 举报
回复
我使用的是cdcel
chechy 2001-10-09
  • 打赏
  • 举报
回复
这个问题的出现,八成都是你没有正确声明函数参数的压栈方式。到底是stdcall还是cdcel。你不妨把C和Delphi的声明都贴出来看看。

5,928

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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