当前位置: 代码迷 >> Delphi >> 走一走,看一看,请高手帮忙,小弟跪求c++调用delphi的dll中函数传递字串参数有关问题
  详细解决方案

走一走,看一看,请高手帮忙,小弟跪求c++调用delphi的dll中函数传递字串参数有关问题

热度:4615   发布时间:2013-02-25 00:00:00.0
走一走,看一看,请高手帮忙,小弟跪求c++调用delphi的dll中函数传递字串参数问题。
我要在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也在行啊?
------解决方案--------------------------------------------------------
看代码是没有问题的.
------解决方案--------------------------------------------------------
探讨
to ZengHD 柯南
请问你在调用delphi的DLL吗?我是调用delphi的DLL会乱码,我的代码哪里有问题,请老大指点一下,多谢了。。
  相关解决方案