Delphi调用VC动态库的Char指针返回有关问题
来源:互联网 发布:设计app软件多少钱 编辑:程序博客网 时间:2024/06/05 06:59
Delphi调用VC动态库的Char指针返回问题
VC动态库的Dll接口函数:
char* Exec(int iLength, char* cXMLStr);
Delphi调用申明:
Exec:function(iLength: integer; cXMLStr: pchar): pchar;stdcall;
具体调用
var
sDllStr: string;
iDllLen: Integer;
pString: PChar;
begin
//执行execHis接口
if Assigned(@execHis) then
begin
//
sDllStr := '这是个测试程序';
iDllLen := Length(sDllStr);
pString := execHis(iDllLen, PChar(sDllStr));
end;
end;
接口调用返回了pString看不懂的字符串,应该返回的是汉字字符串,这个该怎么转换才能得到正确的字符串?
------解决方案--------------------
VC动态库的Dll接口函数:
char* Exec(int iLength, char* cXMLStr);
Delphi调用申明:
Exec:function(iLength: integer; cXMLStr: pchar): pchar;stdcall;
具体调用
var
sDllStr: string;
iDllLen: Integer;
pString: PChar;
begin
//执行execHis接口
if Assigned(@execHis) then
begin
//
sDllStr := '这是个测试程序';
iDllLen := Length(sDllStr);
pString := execHis(iDllLen, PChar(sDllStr));
end;
end;
接口调用返回了pString看不懂的字符串,应该返回的是汉字字符串,这个该怎么转换才能得到正确的字符串?
------解决方案--------------------
- Delphi(Pascal) code
var pUserInfo:array[0..96]of char; sName:string; ZeroMemory(@pUserInfo,97);SetLength(sName,15);for i:=0 to 14 do sName[i+1]:=pUserInfo[i];
------解决方案--------------------
delphi7是行的,后面delphi2010,char型都是2个字节,你写
Delphi调用申明:
Exec:function(iLength: integer; cXMLStr: pansichar): pansichar;stdcall;就不管哪个版本都可以
------解决方案--------------------
你的VC的DLL是什么库?如果是VC自己专用的,比如msvcrXXX什么的那个,你声名的时候需要用cdecl惯例,而不是stdcall惯例,你的函数声明的写法应该是正确的,当然前提是你用的是D2009以下的版本
0 0
- Delphi调用VC动态库的Char指针返回有关问题
- 请问Delphi调用VC写的dll,有传入和传出参数都是unsigned char*运行中有有关问题
- C++动态库返回char*C#调用失败问题
- 动态连结库调用char * 返回空的解决办法
- 关于delphi调用vc编写的dll中参数类型有关问题
- Delphi中如何调用VC++创建的动态链接库
- Delphi中怎么调用VC++创建的动态链接库
- Delphi中怎么调用VC++创建的动态链接库
- Delphi中怎么调用VC++创建的动态链接库
- PB调用动态库参数为char*时的问题
- C调用delphi动态库问题
- 有关python调用dll的问题,指针传递的问题
- 在Delphi中调用VC++创建的动态链接库的Demo
- 在Delphi中调用VC++创建的动态链接库的实例
- VC与Delphi之间动态链接库互相调用
- VC与Delphi之间动态链接库互相调用
- Delphi中如何调用VC++创建的动态链接库(zhuan)
- VC调用Delphi制作的动态链接库如何互相传递字符串
- [Python]核心编程之GUI编程(其他GUI初探)
- 关于delphi调用vc编写的dll中参数类型有关问题
- Eygle的《深入解析Oracle-DBA 入门、进阶与诊断案例》——脚本整理
- poj 1577 Falling Leaves
- c++强制转换
- Delphi调用VC动态库的Char指针返回有关问题
- HDU 4891 The Great Pan 解题报告(水题)
- (笔记)数据仓库工具箱:维度建模的完全指南--总线结构
- Struct2
- Unix/Linux环境C编程入门教程(41) C语言库函数的文件操作详解
- 腾讯前端题面试题(一)及答案
- Longest Palindrome - UVa 11151 dp
- 上一级下一级的排序
- 算法导论习题解-第21章用于不相交集合的数据结构