[delphizip] Error in "testing" zip if more than 65000 archivies.

  • From: "Ferran Artero (Grupo 77)" <ferran@xxxxxxxxxx>
  • To: <delphizip@xxxxxxxxxxxxx>
  • Date: Thu, 13 Jan 2005 16:06:34 +0100

  Hello ! 
  This my first time in this list. Anybody can help me ?

  I have a problem with the ZipMaster component. I'm using the v. 1.72, Delphi 
5 and Windows 2000 SP4.

  I use the "Add" method and after I want to test the result obtained.

  If the "result.zip" contains 65000 aprox. or less then the test goes ok, but 
if there ara more archives, then the "OnMessage" event shows : "Error in 
archive warning - c:\Result.zip" and the ErrorCode is 8323336. 

  If I ask to the property "SuccessCnt" (after the warning message) give me a 
wrong result too. 

  I believe that after this message the test stops, but the "result.zip" is 
fine.



  HOW CAN I TEST MY "result.zip" IF IT HAS MORE THAN 65000 ARCHIVES ?



  Thanks.

  (Sorry about my english).


  SOURCE CODE :

function COMPRIMIR(): boolean;
begin

  Result := False;

  oZipMstr := TZipMaster.Create(Form);
  oZipMstr.AddOptions := oZipMstr.AddOptions + [AddRecurseDirs];
  oZipMstr.AddOptions  := oZipMstr.AddOptions + [AddDirNames];
  oZipMstr.ZipFileName := Self.Path + ZIP_FILENAME;
  oZipMstr.AddCompLevel := 3;
  oZipMstr.RootDir := ROOT_DIR;
  oZipMstr.FSpecArgs.Add('*');
  oZipMstr.OnMessage := Self._MessageNow;
  oZipMstr.Add;

  if oZipMstr.ErrCode > 0 then begin
    ShowMessage(IntToStr(oZipMstr.ErrCode));
    Exit;
  end;
  if oZipMstr.Count < 1 then begin
    Exit;
  end;

  oZipMstr.FSpecArgs.Clear;
  oZipMstr.ExtrOptions := oZipMstr.ExtrOptions + [ExtrTest];
  ResultExtract := oZipMstr.Extract;       

  if (ResultExtract <> 0) and
    ShowMessage(IntToStr(ResultExtract));
    Exit;
  end;

  if (oZipMstr.SuccessCnt <> oZipMstr.DirOnlyCount + oZipMstr.Count) then begin
    ShowMessage('Error in number of archives');
    Exit;
  end;

  Result := True;

end;
_______________________________

Ferran  (ferran@xxxxxxxxxx)

-----------
To unsubscribe from this list, send an empty e-mail 
message to:
  delphizip-request@xxxxxxxxxxxxx 
and put the word unsubscribe in the subject.

Other related posts: