DELPHI调用VC的DLL函数参数LPTSTR 问题解决了,进来就送分

aidy22 2009-10-15 10:20:00
在VC中编写DLL的代码

extern "C" __declspec(dllexport) LPTSTR WINAPI Do(LPTSTR i)
{
return i;
}

在DELPHI中调用
type
TPCharFunc=function(i:PChar):PChar;stdcall;
var
Th:Thandle;
Tc:TPCharFunc;
Tp:TFarProc;
str:PChar;
strA:PChar;
begin
Th:=LoadLibrary('abc.dll'); {装载DLL}
if Th>0 then
try
Tp:=GetProcAddress(Th,PChar('_Do@4'));
if Tp<>nil
then begin
Tc:=TPCharFunc(Tp);
ShowMessage(Tc('break'));
//ShowMessage('找到函数');
end
else
ShowMessage('没有找到函数');
finally
FreeLibrary(Th); {释放DLL}
end
else
ShowMessage('dll文件没找到');
end;
用这样调用的话,传进去是break传出来是乱码,大家帮我看看

我自己解决了,进来的就送分啊,要用PWideChar传进去而不是用PChar传,(*^__^*) 嘻嘻
...全文
136 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
mjp1234airen4385 2009-10-15
  • 打赏
  • 举报
回复
接分
火龙岛主 2009-10-15
  • 打赏
  • 举报
回复
sf
songtreer 2009-10-15
  • 打赏
  • 举报
回复
jf
gyk120 2009-10-15
  • 打赏
  • 举报
回复
jf

1,184

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧