新手求教。多谢大家

新手求教。谢谢大家。本帖最后由 abs1012 于 2013-05-27 00:28:01 编辑procedure TForm1.Button1Click(Sende

新手求教。谢谢大家。
本帖最后由 abs1012 于 2013-05-27 00:28:01 编辑 procedure TForm1.Button1Click(Sender: TObject);
var
  sData  :String;
  Buffer :PWideChar;
begin
  sData := '0123456789';
  GetMem(Buffer, Length(sData));
  Inc(Buffer, 1);     //使用了这里后,下面释放就报错了。应该怎么释放呢???
  FreeMem(Buffer);
end;
[解决办法]
指针加一,指向了非法地址,自然要报错。
[解决办法]
要释放的话还得再Dec一下:

procedure TForm1.Button1Click(Sender: TObject);
var
  //A: INTEGER;
  sData  :String;
  Buffer :PWideChar;
begin
  sData := '0123456789';
  //a := weekof(Today);
  GetMem(Buffer, Length(sData));
  Inc(Buffer, 1);     //使用了?里后,下面?放就??了。??怎么?放呢???
  Dec(Buffer);
  FreeMem(Buffer);
end;