直接把它当作无类型指针——整数
  在借口定义中再将其强制转换为TFileStream   不知道行不行,我也!

解决方案 »

  1.   


    function FileToVariant(FileName: String): OleVariant; 
    var 
      AStream: TFileStream; 
      MyBuffer: Pointer; 
    begin 
      AStream:=TFileStream.create(FileName,fmOpenRead); 
      try 
        aStream.Seek(0, soFromBeginning); 
        Result:=VarArraycreate([0, AStream.size-1], VarByte); 
        MyBuffer:=VarArrayLock(Result); 
        AStream.ReadBuffer(MyBuffer^, AStream.Size); 
        VarArrayUnlock(Result); 
      finally 
        AStream.Free; 
      end; 
    end; 
    procedure VariantToFile(FileName: String; var AVariant: OleVariant); 
    var 
      AStream: TFileStream; 
      MyBuffer: Pointer; 
      Size: Integer; 
    begin 
      AStream:=TFileStream.create(FileName,fmCreate); 
      try 
        aStream.Seek(0, soFromBeginning); 
        Size:=VarArrayHighBound(AVariant,1)+VarArrayLowBound(AVariant,1)+1; 
        MyBuffer:=VarArrayLock(AVariant); 
        AStream.WriteBuffer(MyBuffer^, Size); 
        VarArrayUnlock(AVariant); 
      finally 
        AStream.Free; 
      end; 
    end; 
      

  2.   

    多谢GreensPan(GreensPan)和black_fox(black_fox),
    我在Borland网站也找到了类似的方法。
    结帖。