ggreen86 / XLSX-Workbook-Class

VFP Class to Create an XLSX Workbook without Excel Automation or Installed
45 stars 16 forks source link

FOF_SILENT is not silent #92

Closed rikaye closed 5 months ago

rikaye commented 1 year ago

Hi Greg,

When using SaveTableToWorkbookEx, the call to AddFilesToZip invokes a shell function to move the various component files into the zip. That function appears to use a constant to indicate that threre should be no visible progress indicator, which is what I want.

FOR EACH loFile IN loFolder
  lnCountBefore = loShell.NameSpace(tcTempPath).Items.Count
  loShell.NameSpace(tcZipFile).MoveHere(loFile, FOF_SILENT)
  DO WHILE lnCountBefore = loShell.NameSpace(tcTempPath).Items.Count
    apiSleep(50)
  ENDDO
ENDFOR

However, in my testing I am seeing this:

image

I've tried messing about with the value for FOF_SILENT and recompiling but so far no joy. I'm using the base R39 release.

ggreen86 commented 1 year ago

Richard—

I experience the same annoying behavior. When I first was developing the class with this method, the FOF_SILENT parameter worked as expected (I don’t know if it was Win7 or Win10 when I first started the class). Then Windows was updated a number of times and the ‘silent’ was no longer silent.

I have tried a number of things to make it silent, but have had no success.

Greg

From: Richard Kaye @.> Sent: Monday, July 17, 2023 1:53 PM To: ggreen86/XLSX-Workbook-Class @.> Cc: Subscribed @.***> Subject: [ggreen86/XLSX-Workbook-Class] FOF_SILENT is not silent (Issue #92)

Hi Greg,

When using SaveTableToWorkbookEx, the call to AddFilesToZip invokes a shell function to move the various component files into the zip. That function appears to use a constant to indicate that threre should be no visible progress indicator, which is what I want.

FOR EACH loFile IN loFolder

lnCountBefore = loShell.NameSpace(tcTempPath).Items.Count

loShell.NameSpace(tcZipFile).MoveHere(loFile, FOF_SILENT)

DO WHILE lnCountBefore = loShell.NameSpace(tcTempPath).Items.Count

apiSleep(50)

ENDDO

ENDFOR

However, in my testing I am seeing this:

[image]https://user-images.githubusercontent.com/28717887/254026489-0c49c802-d17e-4bc7-b178-4ed88abf130a.png

I've tried messing about with the value for FOF_SILENT and recompiling but so far no joy. I'm using the base R39 release.

— Reply to this email directly, view it on GitHubhttps://github.com/ggreen86/XLSX-Workbook-Class/issues/92, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AGWB33IBV56YY5Z7PZZD4GTXQV3XHANCNFSM6AAAAAA2NI5QOM. You are receiving this because you are subscribed to this thread.Message ID: @.**@.>>

rikaye commented 1 year ago

Long time, no speak. Thanks for the quick reply.

That's unfortunate. Perhaps there's another API for packing a zip file... If I manage to find something I will share.

ggreen86 commented 1 year ago

Richard—

Please do if you find one. I have thought about trying Craig Boyd’s zip compression FLL. But that would add an external dependency to the FLL that might not work and would have to be included. I split the methods that do the zipping so that they could be overridden by sub-classing the class in order to use alternate ways of doing the zipping.

Greg

From: Richard Kaye @.> Sent: Monday, July 17, 2023 2:48 PM To: ggreen86/XLSX-Workbook-Class @.> Cc: ggreen86 @.>; Comment @.> Subject: Re: [ggreen86/XLSX-Workbook-Class] FOF_SILENT is not silent (Issue #92)

Long time, no speak. Thanks for the quick reply.

That's unfortunate. Perhaps there's another API for packing a zip file... If I manage to find something I will share.

— Reply to this email directly, view it on GitHubhttps://github.com/ggreen86/XLSX-Workbook-Class/issues/92#issuecomment-1638687676, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AGWB33NFGNLIYFU6ZJC3NSLXQWCHPANCNFSM6AAAAAA2NI5QOM. You are receiving this because you commented.Message ID: @.**@.>>

rikaye commented 1 year ago

So you’re not married to the shell API. I will definitely do some research. I’ve used your class for years in my desktop app and really want to start using it in my WWC app but with a UI component like that it’s problematic.

Maybe I’ll do a PR and implement a zipping method that uses the WWC framework as I’m pretty sure Rick’s got that covered.

On Mon, Jul 17, 2023 at 2:56 PM ggreen86 @.***> wrote:

Richard—

Please do if you find one. I have thought about trying Craig Boyd’s zip compression FLL. But that would add an external dependency to the FLL that might not work and would have to be included. I split the methods that do the zipping so that they could be overridden by sub-classing the class in order to use alternate ways of doing the zipping.

Greg

From: Richard Kaye @.> Sent: Monday, July 17, 2023 2:48 PM To: ggreen86/XLSX-Workbook-Class @.> Cc: ggreen86 @.>; Comment @.> Subject: Re: [ggreen86/XLSX-Workbook-Class] FOF_SILENT is not silent (Issue #92)

Long time, no speak. Thanks for the quick reply.

That's unfortunate. Perhaps there's another API for packing a zip file... If I manage to find something I will share.

— Reply to this email directly, view it on GitHub< https://github.com/ggreen86/XLSX-Workbook-Class/issues/92#issuecomment-1638687676>, or unsubscribe< https://github.com/notifications/unsubscribe-auth/AGWB33NFGNLIYFU6ZJC3NSLXQWCHPANCNFSM6AAAAAA2NI5QOM>.

You are receiving this because you commented.Message ID: @.**@.>>

— Reply to this email directly, view it on GitHub https://github.com/ggreen86/XLSX-Workbook-Class/issues/92#issuecomment-1638697917, or unsubscribe https://github.com/notifications/unsubscribe-auth/AG3DGP22RURLMUXG4JXTZNLXQWDFBANCNFSM6AAAAAA2NI5QOM . You are receiving this because you authored the thread.Message ID: @.***>

-- rk

rikaye commented 1 year ago

Still trying to wrap my head around what the code is doing. In the meantime I found this link for starting a bug submission to Microsoft:

https://support.microsoft.com/en-us/windows/send-feedback-to-microsoft-with-the-feedback-hub-app-f59187f8-8739-22d6-ba93-f66612949332

It probably feels pointless but who knows...

rikaye commented 1 year ago

And I just submitted one - https://aka.ms/AAlov17

ggreen86 commented 5 months ago

Closing this issue; the problem is outside the control of the class and with the Shell zip method.