delphi开发的Dll在VC中调用问题 ( 积分: 100 )

  • 主题发起人 RaisingRain
  • 开始时间
R

RaisingRain

Unregistered / Unconfirmed
GUEST, unregistred user!
我在delphi中开发一个动态库,函数声明如下
function test(S:integer,Var P : Pchar):integer;stdcall;export;
在VC中调用老是不成功,开始是返回不了P的值,调着调着说访问地址错
求助高手
 
我在delphi中开发一个动态库,函数声明如下
function test(S:integer,Var P : Pchar):integer;stdcall;export;
在VC中调用老是不成功,开始是返回不了P的值,调着调着说访问地址错
求助高手
 
把PChar改成WideString试试看
 
delphi3以后的版本,不再支持vc的coff格式了!
也就是说,delphi7编的dll和vc编的dll极其容易存在兼容性问题!
至于delphi的dll在vc中调用,可在google上查一查,很多这方面的文章
 
我用的是delphi6
 
Delphi做的DLL不兼容的问题
 
Var P : Pchar -> char **p
 
你vc里调用的代码也贴出来阿,未必是delphi这边的问题……
 
RaisingRain 你好, 我有事情想请教你, 你能把你的联系信息发送给我吗? 多谢
Email: alextsui@mmigo.com
 
function test(S:integer,Var P : Pchar):integer;stdcall;export;
int __stdcall test(int S, LPSTR* P);
这个函数的意思是传递回一个指针,有一个问题需要注意,内存的分配和释放如果使用内置的内存管理器,那么必须要求VC/DELPHI谁分配谁释放,不能混,否则灭你没商量.(不过你其实也可以使用Win32API来分配,比如CoTaskMemAlloc/xx等,这个就没有上边的要求)
 
顶部