看流星社区

 找回密码
 注册账号
查看: 2800|回复: 5

[Delphi] delphi 写的一个读内存函数,大家来看下错在哪里!

[复制链接]

该用户从未签到

发表于 2011-3-29 09:07:27 | 显示全部楼层 |阅读模式
function ReadWideStr(add: Integer; size: Integer): string;
var
  i: Integer;
begin
  i := 0;
  Result := '';
  add := PInt(add)^;
  while i < size do
  begin
    Result := Result + pWideChar(add + i)^;
    inc(i, 2);
  end;
end;

前提:DLL以成功注入游戏,数据类型都可以读出,现在读中文的数据,报错,请大家指正,为谢!

该用户从未签到

发表于 2011-3-29 09:07:37 | 显示全部楼层
add := PInt(add)^;
这句不需要吧

你的参数应该是地址了吧!

该用户从未签到

发表于 2011-3-29 09:07:43 | 显示全部楼层
另外,你取的是WideChar,但是函数定义的是string

Result := Result + pWideChar(add + i)^;

该用户从未签到

 楼主| 发表于 2011-3-29 09:08:16 | 显示全部楼层
string 不是char的组合吗?可以看成 string=  一个char数组,反回因该没有错

该用户从未签到

发表于 2011-3-29 09:08:42 | 显示全部楼层
function ReadWideStr(add: Integer; size: Integer): Widestring; //这里要改为宽字符
var
  i: Integer;
begin
  i := 0;
  Result := '';
  add := PInt(add)^;
  while i < size do
  begin
    Result := Result + pWideChar(add + i)^;
    inc(i, 2);
  end;
end;

该用户从未签到

 楼主| 发表于 2011-3-29 09:08:51 | 显示全部楼层
谢谢收到问题以解决
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-4-20 02:23

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表