function Write(const Buffer; Count: Longint): Longint;要给如上函数传递一个整型数到它的第一个参数中,该怎么写啊?是不是需要取地址、转成指针啊?如:var
   abc: integer;
begin
   abc = 1024;   Write( @abc, 4);
   // Write( abc, 4);
   // Write( Pointer(@abc)^, 4);
哪种方式能够正确传递啊,我试了怎么都不正确?该怎么写呢?

解决方案 »

  1.   

    function Write(const Buffer; Count: Longint): Longint;
    begin
    end;procedure TForm1.FormCreate(Sender: TObject);
    var
      I: Integer;
      Data: PInteger;
    begin
      I := 4;
      Data := @I;
      write(Data, SizeOf(Integer))
    end;
      

  2.   

    function Write(const Buffer; Count: Longint): Longint;
    begin
    end;procedure TForm1.FormCreate(Sender: TObject);
    var
      I: Integer;
      Data: PInteger;
    begin
      I := 4;
      Data := @I;
      write(Data, SizeOf(Integer))
    end;
      

  3.   

    var
      I: Integer;
    begin
      i:=1024;
      write(PInteger(I), SizeOf(Integer))
    end;
      

  4.   

    function Write(const Buffer; Count: Longint): Longint;
    begin
      showmessage( IntToStr( Integer( buffer ) ) );
    end;
    procedure TForm1.FormCreate(Sender: TObject);
    var
      I: Integer;
    begin
      i:=200;
      write(I, SizeOf(Integer))
    end;