求救:在delphi中调用VC写的DLL时出现“无法定位程序输入点QueryDetail于动态链接库上”错误!! ( 积分: 100 )

  • 主题发起人 主题发起人 markss
  • 开始时间 开始时间
M

markss

Unregistered / Unconfirmed
GUEST, unregistred user!
有一个用VC写的ABC.DLL,现在要用DELPHI调用其中的函数funa(),可是在调用时出现错误:“无法定位程序输入点QueryDetail于动态链接库ABC.DLL上”。<br><br>该DLL提供的不是stdcall方式调用,应该是cdecl方式。我使用同样的方法调用其他提供stdcall方式的DLL时没有问题。所以应该是因为DLL没有提供stdcall方式调用而导致的吧??<br><br>该DLL提供了通过C/C++调用方式的例子:abcd.h,abc.lib<br>通过VC6.0执行没有问题。<br>函数定义为:extern int __declspec(dllexport) funa(LPCSTR user,LPCSTR pswd,int bType,const char **pBuf);<br><br>不过我在delphi中定义为这样则出现上面所说的错误。<br>Function funa(user,pswd:Pchar;bType:integer;var ppszBuf:Pchar):integer; stdcall;{cdecl;} external 'c:/ABC.dll';<br><br>那么为了能够使用这个DLL,我应该怎么定义才能够使用呢?谢谢!!<br>
 
有一个用VC写的ABC.DLL,现在要用DELPHI调用其中的函数funa(),可是在调用时出现错误:“无法定位程序输入点QueryDetail于动态链接库ABC.DLL上”。<br><br>该DLL提供的不是stdcall方式调用,应该是cdecl方式。我使用同样的方法调用其他提供stdcall方式的DLL时没有问题。所以应该是因为DLL没有提供stdcall方式调用而导致的吧??<br><br>该DLL提供了通过C/C++调用方式的例子:abcd.h,abc.lib<br>通过VC6.0执行没有问题。<br>函数定义为:extern int __declspec(dllexport) funa(LPCSTR user,LPCSTR pswd,int bType,const char **pBuf);<br><br>不过我在delphi中定义为这样则出现上面所说的错误。<br>Function funa(user,pswd:Pchar;bType:integer;var ppszBuf:Pchar):integer; stdcall;{cdecl;} external 'c:/ABC.dll';<br><br>那么为了能够使用这个DLL,我应该怎么定义才能够使用呢?谢谢!!<br>
 
你当然要指定出调这库的哪个函数呀~~!!!后加: name 'funa'才行<br><br>function funa(user,pswd:Pchar;bType:integer;var ppszBuf:Pchar):integer; stdcall;{cdecl;} external 'c:/ABC.dll' name 'funa';
 
这个应该问题不大,不加也是可以使用的。<br>我加了还是不能用拉<br>
 
你把dll文件放到你程序的目录下试试呢?把那‘c:’去掉
 
我都试过了,应该不是这些问题的,我之前已经做过DLL的编程的了,问题可能是出在DLL提供的调用方式上的,stdcall和cdecl
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部