Y
yzb
Unregistered / Unconfirmed
GUEST, unregistred user!
我用VC写了一个DLL,如果用Delphi调里面无参数的方法是没问题的,可是传字符串过去就有问题:
Test.cpp有如下的代码
int Image_XML(){
...
}
...
int BC(LPCTSTR para1){
return Image_XML();
}
Test.h 如下:
extern "C" _declspec(dllexport) int Image_XML();
extern "C" _declspec(dllexport) int BC(LPCTSTR para1);
在Delphi中申明:
function Image_XML():integer;stdcall;external DLL;
function BC(Paramchar):integer;stdcall;external DLL;
如果调用Image_XML是没有错的,如果调用如下
BC('xxxx');
则有一个地址错,我是想把这个xxxx传给VC的DLL,现在是为什么会出这种地址错呢,我试一另一个方法,把VC里的LPCTSTR改为 CString ,出现一个Application-defined Exception.
第一次写VC,救命呀.
Test.cpp有如下的代码
int Image_XML(){
...
}
...
int BC(LPCTSTR para1){
return Image_XML();
}
Test.h 如下:
extern "C" _declspec(dllexport) int Image_XML();
extern "C" _declspec(dllexport) int BC(LPCTSTR para1);
在Delphi中申明:
function Image_XML():integer;stdcall;external DLL;
function BC(Paramchar):integer;stdcall;external DLL;
如果调用Image_XML是没有错的,如果调用如下
BC('xxxx');
则有一个地址错,我是想把这个xxxx传给VC的DLL,现在是为什么会出这种地址错呢,我试一另一个方法,把VC里的LPCTSTR改为 CString ,出现一个Application-defined Exception.
第一次写VC,救命呀.