我要在c++中调用delphi编写的DLL中一个函数,而且要传递一字串参数,但不知为什么delphi中显示传过来的字串参数是乱码的,哪位高手遇到过,指点一下,多谢了。
c++代码如下:
typedef int (* pGetData)( char* P1) ;
pGetData GetData;
HINSTANCE hinst;
hinst=LoadLibrary(TEXT("DllTest.dll")); //加载该dll LPCTSTR strContent);
if(hinst==NULL)
{ MessageBox::Show("Can't load testll.dll");
return;
}
GetData=(pGetData)GetProcAddress(hinst,"TestDll"); //获取导出函数的地址
if(GetData==NULL)
{
MessageBox::Show("Can't get the address of the function");
return;
}
GetData("234"); //运行
FreeLibrary(hinst); //卸载
delphi代码如下:
function TestDll(P1:Pchar):integer; cdecl;
begin
ShowMessage(P1);
Result:=8888;
end;
exports TestDll;
begin
end.
------解决方案--------------------------------------------------------
测试了,中文也没有乱码
------解决方案--------------------------------------------------------
顶。我也没看出问题。
btw:柯南兄delphi也在行啊?
------解决方案--------------------------------------------------------
看代码是没有问题的.
------解决方案--------------------------------------------------------