function ReadXmlNodeByNodeName(): pchar;
var
widestr:WideString;
str:string;
begin
widestr:='1234';
pch:=pchar(widestr);
setlength(str,Length(widestr));
for i:=1 to length(str) do
str[i]:=char(widestr[i]);
//str:=WideCharToString(PWideChar(widestr)); 这种方式转换也一样错误
Result:=pchar(str);
end;
调用
var
pVal:pchar;
pVal:=ReadXmlNodeByNodeName();
ShowMessage(pVal);//报错 access violation at address XXX问题出在,在ReadXmlNodeByNodeName中会获得一个widestring 值,然后必须将这个widestring以pchar返回。
我测试过如果是获取一个string类型的然后转换成pchar就没有问题, 我猜应该是编码格式转换的问题 ??请大家帮看下 谢谢
var
widestr:WideString;
str:string;
begin
widestr:='1234';
pch:=pchar(widestr);
setlength(str,Length(widestr));
for i:=1 to length(str) do
str[i]:=char(widestr[i]);
//str:=WideCharToString(PWideChar(widestr)); 这种方式转换也一样错误
Result:=pchar(str);
end;
调用
var
pVal:pchar;
pVal:=ReadXmlNodeByNodeName();
ShowMessage(pVal);//报错 access violation at address XXX问题出在,在ReadXmlNodeByNodeName中会获得一个widestring 值,然后必须将这个widestring以pchar返回。
我测试过如果是获取一个string类型的然后转换成pchar就没有问题, 我猜应该是编码格式转换的问题 ??请大家帮看下 谢谢
解决方案 »
- 调用dll 出现Access violation at address 00000000. Read of address 00000000.
- 急急急~~医院排队系统数据结构是怎么定义的???
- 我写一个视频程序,界面上有八个视频窗口。全部运行起来[网络传输通讯]CPU 占有率为100% 如何降低CPU占有率?
- 浏览器不会自动更新ActiveForm控件
- 谁能告诉我 INTERBASE的连接问题 明天 我再送分给好汉们
- 我的程序中用了ACTiveX,怎样在其它没有这个ActiveX的机子上运行我这个程序!
- 菜鸟不耻下问:传统 C/S模型中,客户端和服务器端是怎么连接的啊。
- 请教:在QuickRep报表中的QRGroupFooter进行组内某字段求和统计
- 如何为listview加背景图,并且item要透明?
- 如何制作可自动生成label并可拖动程序
- 在delphi里能输入平方毫米吗
- 哪里能下载ARCGIS engine SDK for delphi?
var
i: Integer;
widestr:WideString;
str:string;
begin
widestr:='1234';
str:=pchar(widestr);
setlength(str,Length(widestr));
for i:=1 to length(str) do
str[i]:=char(widestr[i]);
Result:=pchar(str);
end;procedure TForm1.btn1Click(Sender: TObject);
var
pVal:pchar;
begin
pVal:=ReadXmlNodeByNodeName();
ShowMessage(pVal);
end;
这个没有错误