[delphizip] Re: Trial DLL

  • From: "Russell Peters" <russellpeters@xxxxxxxxxxx>
  • To: <delphizip@xxxxxxxxxxxxx>
  • Date: Wed, 11 Dec 2002 07:32:40 +1100

The 'Tick' is only triggered in the loop rejecting files for download - this
seemed to be where the major 'dead' time was occurring.
Win32Zip.c - readd (gets next applicable entry in a search ie rejects
non-attr files if attr-only selected)

    // diag( "readd win32zip.c" );
 unsigned cnt = 0;
    /* Loop to read all dir entries, until next normal entry is found */
 do
 {
  if ((++cnt & 0x1F) == 0)    // added 1.70.12
  {  // tickle and check cancel
   user_callback(0,0,0,"",pG);
   if ( pG->global_abort_sw )
    return NULL;                // end added 1.70.12
  }
  e = Readdir ( d );
 }
 while ( /*!pG->global_abort_sw && */ e
            && ( ( !pG->hidden_files && ( e->d_attr & HIDD_SYS_BITS ) )
                 || ( pG->ArchiveFiles && !( e->d_attr &
FILE_ATTRIBUTE_DIRECTORY )
                      && !( e->d_attr & FILE_ATTRIBUTE_ARCHIVE ) ) ) );

I limited it to every 32 rejected files for the sake of speed.
I found that if there is actual files to be found or you were not rejecting
heaps of files - a file would be found fairly quickly (event 7).
I fear there might still be a bit of a wait when recursing deeply into
directories but I could not produce this and anything I tried to add slowed
things more than I like.
Need plenty to check 'dead' time as I might need to fine tune it (make it
Tick every 16 rejects or 64?) .
With the version number - I was in a hurry (I knew I was having trouble and
did not know how long I could put it off - the Quack thinks maybe 4-6 I
might improve).
Russell Peters
http://www.users.bigpond.com/russellpeters/delphizip.html

----- Original Message -----
From: "Roger Aelbrecht" <Roger.Aelbrecht@xxxxxxxxxx>
To: <delphizip@xxxxxxxxxxxxx>
Sent: Wednesday, December 11, 2002 4:39 AM
Subject: [delphizip] Trial DLL


>
> Hi Russell,
> I made download of the trial DLL
> The Zip file tells me that it contains a dll version 1.70.0.12
> in the comments.
> However if I extract the ZipDll then I got a version 1.70.1.0
>
> But that's not my problem.
> I was trying to create an OnTick event but when I start a test
> and put a breakpoint in ZipBuilder at the first line of
> TZipBuilder::ZCallback
> Then the first time this breakpoint is hit is with
> cbr->ActionCode = 7;
>
> Did I miss something or did I completely misunderstood your result.
> I concluded from the Results.txt in the Times17012.zip that the
> first action received would be an Action 0 the ticker
>
>
>
> BTW
> <quote>
>
> Welcome more appropriate names (especially for OnAfterCallback(Sender:
> TObject; var DoCancel : boolean)}
>
> </quote>
>
> What about On AllowAbort(Sender...)
> because basically this is what the event does.
> It allows the application to abort
>
>
>
>
> Roger Aelbrecht
> http://web.wanadoo.be/driehoeksw
>
>
>
>
>



Other related posts: