|
Post by heiko2 on Jul 24, 2006 10:07:29 GMT -5
Hello Kevin, I have a question about the procedure ExpandForWildCards() in VCLZip.pas. Some of my users get an access violation if they zip a complete folder. The following lines are my code before the errors occur: Zip.ZipName := AFileName; Zip.RootDir := AFolder; Zip.Recurse := true; Zip.AddDirEntriesOnRecurse := true; Zip.StorePaths := true; Zip.RelativePaths := true; Zip.FilesList.Add('*.*');
With EurekaLog I can find out, that the following lines raise the access violation. if (DoProcessMessages) then begin YieldProcess; if CancelOperation then begin CancelOperation := False; raise EUserCanceled.Create(LoadStr(IDS_CANCELOPERATION)); end; if PauseOperation then DoPause; end; Do that means the user cancel the zip operation? Or is there an other reason? Could you explain it please? Thanks for any response Heiko
|
|
|
Post by Kevin on Jul 25, 2006 16:16:32 GMT -5
This section of code is simply allowing other processing on your computer to take place, it is pretty standard. And yes, the one part of the code just checks to see if the PauseTheOperation property has been set, but if you don't use that then this should not be relevant.
I have never had an access violation from this type of situation, nor have I ever had it reported. It seems like, since this is yielding the cpu momentarily there could be something else that is going on in the background that is not playing nicely and not following the rules. Other than that I don't know what could be causing it.
|
|