小弟对stream不太懂,上次发一个个贴子求文件压缩的用法,后来达人们给我一个函数,但是我用起来都是报错,再请达人们指点。function MyZip(InFlName, OutFlName: string): integer;
var
  InFile, outfile: TFilestream;
  ZStream: TCustomZLibStream;
begin
  InFile := TFileStream.Create(InFlName, fmOpenRead);
  try
    OutFile := TFileStream.Create(OutFlName, fmCreate);
    try
      ZStream := TCompressionStream.Create(clFastest, OutFile);
      try
        ZStream.CopyFrom(InFile, 0);
      finally
        ZStream.Free;
      end;
    finally
      result := outfile.Size;
      OutFile.Free;
    end;
  finally
    InFile.Free;
  end;
end;procedure MyUnZip(InFlName, OutFlName: string);
const
  buffersize = 1024;
var
  InFile: TStream;
  OutFile: TStream;
  ZStream: TCustomZLibStream;
begin
  InFile := TFileStream.Create(InFlName, fmOpenRead);
  try
    OutFile := TFileStream.Create(OutFlName, fmCreate);
    try
      ZStream := TDecompressionStream.Create(InFile);      try
        OutFile.CopyFrom(ZStream, 0);
      finally
        ZStream.Free;
      end;
            
    finally
      OutFile.Free;
    end;
  finally
    InFile.Free;
  end;.
.
.procedure Tmain.Button1Click(Sender: TObject);
begin
  Showmessage(inttostr(MyZip('.\ftp.ini','.\ftp.zip')));
end;procedure Tmain.Button2Click(Sender: TObject);
begin
  MyUnZip('.\ftp.zip','.\send\ftp.ini');
end;在压缩的时候正常,但是在解压的时候运行到
OutFile.CopyFrom(ZStream, 0);
的时候报错:
"Invalid stream Operation"各位达人请帮帮我吧.