请帮忙看看以下程序哪块有问题?
var
    tmpArray:array[0..1024] of Byte;
    i: integer;
    tmpStr:string;
    pStr:PChar;
begin
  tmpStr:= 'abcd';
  pStr:=@tmpstr; //此步将tmpstr地址赋给pStr
  Dec(PStr);
  for i:=0 to Length(tmpStr)-1 do
        begin
          inc(PStr);
          tmpArray[i]:=Byte(PStr^);
          resieveString:=resieveString+IntTostr(Ord(tmpArray[i]));
        end;
end;

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
        tmpArray:array[0..1024] of Byte;
        i: integer;
        tmpStr,resieveString:string;
        pStr:PChar;
    begin
      tmpStr:= 'abcd';
      pStr:=pchar(tmpstr); //此步将tmpstr地址赋给pStr
      Dec(PStr);
      for i:=0 to Length(tmpStr)-1 do
            begin
              inc(PStr);
              tmpArray[i]:=Byte(PStr^);
              resieveString:=resieveString+Chr(tmpArray[i]);//注意
            end;
      edit1.Text := resieveString;
    end;