为什么执行出错
procedure TfrmComm.btnSendClick(Sender: TObject);
var
  //FS,outfs:TFileStream ;
  FS,outfs:TStream ;
begin
   fs:=TfileStream.Create('c:\tcpip.txt',FmOpenRead);
   getmem(s,fs.size);
   try
     fs.Read(s^,fs.Size);
     ys_stream(fs,outfS,2);
     memo1.Text :=s;
   finally
     fs.free;
   end;
   freemem(s);
end;//**************************************************************
procedure ys_stream(instream, outStream: TStream;ysbz:integer);
var
 ys: TCompressionStream;
begin
  inStream.Position := 0;
  case ysbz of
    1:  ys := TCompressionStream.Create(clnone,OutStream);
    2:  ys := TCompressionStream.Create(clFastest,OutStream);//运行此出错
    3:  ys := TCompressionStream.Create(cldefault,OutStream);
    4:  ys := TCompressionStream.Create(clmax,OutStream);
    else
        ys := TCompressionStream.Create(clFastest,OutStream);
  end;
  try
    
    ys.CopyFrom(inStream, 0);
  finally
    ys.Free;
  end;
end;
//*****************************************************************

解决方案 »

  1.   

    你在btnSendClick中传入到ys_stream中的outStream没有初始化啊————————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    ————————————————————————————————————