delphi调用VC写的Dll报错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi调用VC写的Dll报错相关的知识,希望对你有一定的参考价值。

VC声明:
extern "C" char* _stdcall RecogniseToFile(char* key,char* Path)
DELPHI调用:
Function get1(key:PChar;Path:pchar):PChar;stdcall;external 'Decode.dll' name get1;
注入到了游戏中再调用该函数,在有的位置 可以正常使用,有的位置 就会报内存错误,或者Privileged instruction.
不注入时,直接调用不出错.
大家帮忙分析下.谢谢!
VC声明:
extern "C" char* _stdcall RecogniseToFile(char* key,char* Path)
DELPHI调用:
Function get1(key:PChar;Path:pchar):PChar;stdcall;external 'Decode.dll' name 'RecogniseToFile';
前边写错了.
而且在2个位置,1处正常用过后,2再用必报错.1不用,2用就正常.

应该是RecogniseToFile函数写的有问题,是否有资源没有释放,或者是有资源不该释放的被释放了。 参考技术A 在有的位置 可以正常使用,有的位置 就会报内存错误

这个不可能的吧,首先你的函数名称对应不上,get1/RecogniseToFile,这两个不同的名字,程序怎么可能得到函数指针

参数前家个var, get1(var key:PChar;var Path:pchar);试下。
参考技术B 我也认为是vc的那个RecogniseToFile函数写的有问题,如果只能调用一次,应该是在第1次调用后释放了不该释放的资源,那么再次调用就出错了

Delphi XE3写DLL,用Delphi7调用,报错!

http://bbs.csdn.net/topics/390870532

回复次数:17

 

以上是关于delphi调用VC写的Dll报错的主要内容,如果未能解决你的问题,请参考以下文章

在delphi中,主程序和dll调用的成功,但是关闭的时候报错

delphi调用vc编写的dll,出现错误

halcon在VC++中,并生成dll文件,供MFC的EXE程序调用,dll中使用halcon函数出现报错

C# 内调用c++ DLL程序报错~ 求解答。。。

R语言arules报错

delphi将pchar类型的变量传递给vc编写的dll问题,但是返回来的始终是一样的