procedure TForm1.Button2Click(Sender: TObject);
  var vipfile : TFileStream ;
      buffer : PAnsiString;
begin
  new(buffer);
   vipfile := TFileStream.Create('c:\1.txt',fmOpenRead);
   vipfile.Read(buffer,20);
   Edit1.Text :=Buffer^;  //如何访问Buffer的内容?
   vipfile.Destroy;
end;

解决方案 »

  1.   

    procedure TForm1.Button2Click(Sender: TObject);
    var
      vipfile : TFileStream ;
      buffer : PChar;
    begin
      GetMem(buffer, 20);
      vipfile := TFileStream.Create('c:\1.txt',fmOpenRead);
      vipfile.Read(buffer,20);
      Edit1.Text :=Buffer^;  //如何访问Buffer的内容?
      vipfile.Free;
    end;
      

  2.   

    procedure TForm1.Button2Click(Sender: TObject);
    var
      vipfile : TFileStream ;
      buffer : PChar;
    begin
      GetMem(buffer, 20);
      vipfile := TFileStream.Create('c:\1.txt',fmOpenRead);
      vipfile.Read(buffer,20);
      Edit1.Text :=String(Buff);
      vipfile.Free;
    end;
      

  3.   

    procedure TForm1.Button2Click(Sender: TObject);
    var
      vipfile : TFileStream ;
      buffer : PChar;
    begin
      GetMem(buffer, 20);
      vipfile := TFileStream.Create('c:\1.txt',fmOpenRead);
      vipfile.Read(buffer,20);
      Edit1.Text :=StrPas(Buff);
      vipfile.Free;
    end;
      

  4.   

    再加一种写法:procedure TForm1.Button2Click(Sender: TObject);
    var
      vipfile : TFileStream ;
      buffer : string;
    begin
      setlength(buffer,20);
      vipfile := TFileStream.Create('c:\1.txt',fmOpenRead);
      vipfile.Read(pchar(buffer)^,20);
      Edit1.Text :=buffer;
      vipfile.Free;
    end;
      

  5.   

    楼主错误在于:
    var
        buffer : PAnsiString;begin
      new(buffer);//这儿实际分配的是4字节