我的压缩程序已经运行成功,下面是我的解压缩代码:
procedure TCompressionform.DeCompressStream(SourceStream, DeskStream: TStream);//
const
          SixK=$ffff;   //65535
     var
          DeCompStream:TDecompressionStream;
          Data:array[1..SixK] of Char;
          Count:Integer;
     begin
          SourceStream.Position:=0;
          DeCompStream:=TDecompressionStream.Create(SourceStream);
          DeskStream.Position :=0;
          try
          repeat
               Count:=DeCompStream.Read(Data,SixK);
               if Count>0   then  DeskStream.Write(Data,Count);
          until Count=0;
          finally
          DeCompStream.Free;
          end;
          DeskStream.Position :=0;
     end;
procedure TCompressionform.DeCompressFiles(DirStr:String;filelist:TStrings;DestStream:TStream);
var
     FileNum,i,CurrentPos:Integer;
     FS:TMyFileStruct;
     SourceStream:TFilestream;
     TempStream:TMemoryStream;
begin
     FileNum:=filelist.Count;
     TempStream:=TMemoryStream.Create;
     DestStream.ReadBuffer(fileNum,sizeof(FileNum));   //定义一快类存区域将其读进去
     CurrentPos:=FileNum*SizeOf(FS)+SizeOf(FileNum);
     for i:=0 to FileNum-1  do
     begin          FS.FileName:=extractfilename(filelist[i]);
          TempStream.Clear;     
          DestStream.Position:=i*SizeOf(FS)+SizeOf(FileNum);
          DestStream.ReadBuffer(FS,SizeOf(FS));     //先读出来然后在解压缩
          sourceStream:=TFilestream.Create(filelist[i],fmShareDenyRead);
          DeCompressStream(SourceStream,TempStream);
          fs.FileSize:=TempStream.Size;
          DestStream.Position :=CurrentPos;
          CurrentPos:=CurrentPos+SourceStream.CopyFrom(DestStream,FS.FileSize);
          sourceStream.Free;
          TempStream.SaveToFile(DirStr+FS.FileName);
     end;
     TempStream.Free;
end;procedure TCompressionform.bt2Click(Sender: TObject);  //解压
var
     Fg:TMemoryStream;
begin
   Fg:=TMemoryStream.Create;
   Fg.Position:=0;
   DeCompressFiles(FMsystemdir,memo1.Lines,Fg);
   messagedlg('恭喜您操作成功',mtinformation,[mbok],0);
end;
为什么我在运行的时候总是出现stream read error 的错误啊
并且错误出现在DestStream.ReadBuffer(fileNum,sizeof(FileNum))这一行啊
请问各路高手是什么原因啊