anchor.diff:  
   procedure TSingleFileWriter.Flush;
   begin
  -  FWriter.FlushBuffer;
  +  if FWriter <> nil then FWriter.FlushBuffer;
   end;
   
   procedure TSingleFileWriter.LogMessage(pvData:string);
  
positive.code: begin
    if FFileStream <> nil then
    begin
      FWriter.FlushBuffer;
      FFileStream.Free;
    end;
    inherited Destroy;
  
negative.code:     begin
        if FFileStream.Size >= (FFilePerSize) then
        begin  // 10M
          if FWriter <> nil then
          begin
            FWriter.FlushBuffer;
            FWriter.Free;
          end;
          FreeObject(FFileStream);
          FFileStream := nil;
        end else if lvNewFileID <> FLastFileID then
        begin
          if FWriter <> nil then
          begin
            FWriter.FlushBuffer;
            FWriter.Free;
          end;
          FreeObject(FFileStream);
          FFileStream := nil;
        end;
  