maxonthegit / PPspliT

A PowerPoint add-in that splits slides according to slideshow-time animation effects
https://www.maxonthenet.altervista.org
292 stars 6 forks source link

PPspliT 1.27 clipboard-related error (number -2147221040 - Method 'Copy' failed) #12

Closed CollinCodez closed 1 year ago

CollinCodez commented 2 years ago

image When working on splitting up a slideshow, I encountered this error pictured above. This ends up meaning CLIPBRD_E_FIRST. Here is a screenshot of the slide that it occurs on and the animations on it image The timing is set to 0 seconds on the first group. I have also had this happen on a few other slides in this presentation that had similar starts to the animations in the slide.

maxonthegit commented 2 years ago

Hi @CollinCodez,

I am sorry to read that you are experiencing this issue. I am not aware of any problems in dealing with a foremost animation step starting 0 seconds after the beginning of the timeline, and a quick test did not reveal any issues either.

Please review the advice about the system clipboard on page 3 of the usage instructions as well as the suggestions in this comment of #7 and check whether these help address your issue(s).

Otherwise, it would be useful if you could share a minimal sample of presentation that is enough to trigger the problem. You can send it to my e-mail address in case you want to keep it private.

CollinCodez commented 2 years ago

PPspliT breaker slide example.pptx I took that slide that breaks it and put it into its own slideshow, so here is that. If you would like the whole thing with more examples let me know and I can send that over to you as well

maxonthegit commented 2 years ago

Thank you @CollinCodez. Interestingly, your sample presentation splits flawlessly in my PowerPoint instance, as displayed in the following screencam: PPspliT breaker_split

Two additional observations:

  1. The animation timeline in your "breaker" sample slightly differs from the one in your original screenshot: the last step in the latter is triggered by a mouse click, whereas in the former all the animation steps are supposed to happen at once when the slide is displayed (as a result, no animations are visible for the audience). Even changing the last animation to become mouse-triggered as in your screenshot has no adverse effects on the operation of PPspliT.
  2. Fonts (i.e., character appearance) in your screenshot differ from those in the presentation you have shared.

None of these observations should be really relevant to troubleshoot this issue, but they are worth mentioning.

Are you sure that the very same file that you have shared is enough to cause PPspliT to fail? In this case, did you review the suggestions that I have proposed in my previous comment concerning possible interferences with the system clipboard while the splitting takes place?

CollinCodez commented 2 years ago

I copied the exact slide out to a different powerpoint file, and it still breaks it on my end. I will email you the whole original file to see if you can cause the behavior from that. I am on Office 365 as far as I know, through my college account if that makes any difference.

maxonthegit commented 2 years ago

Thank you for sending the full presentation. Even in this case, PPspliT could complete the process without errors (see the screencam below). To be honest, in at least one of multiple attempts PPspliT raised the same error you have reported while processing slide 37, which apparently causes PowerPoint to slow down while splitting (you can even see it in the screencam below: at slide 37 the borders of the PowerPoint window change just as if it froze altogether). There is nothing wrong with that slide (as well as with others you have pointed me to), but the slowdown, which in turn is likely due to the amount of text in a single paragraph in that slide, might indeed be the cause for PPspliT's failure. If that is the case I am afraid there is not much that I can do, as this appears to be a race condition between PowerPoint's internal automatic reformatting activities in the text paragraph(s) and my invocation of the Copy method, which should indeed just always work regardless of PowerPoint's internal activities. Anyway, this is just a rough guess.

Given that such a behavior is not easily ascribed to any actual shortcomings of the add-in or anomalies of the structure of your presentation. I only have a few hints:

  1. Once again, check my suggestions concerning usage of the clipboard by other applications/Windows settings (see the references in my first comment)
  2. Try repeating the split multiple times on the single-slide sample presentation you have shared (every time starting from the original presentation) and check whether the error always occurs
  3. Check whether other presentations are causing similar issues

PPspliT breaker-original_split

CollinCodez commented 2 years ago

I've got a bit of an update: I did have around 4 Remote Desktop softwares running in the background at the time, and I think I was connected on Teamviewer at the time. Last night I believe I replicated the issue with the softwares running in the background but none connected, though after closing all of them completely I got it to work. I'll look into it more tonight and figure out exactly which one(s) were interfering.

I do believe I also noticed some other behavior with the splitting that was not ideal like leaving behind bullet points, but that is unrelated to the other issue I was having.

CollinCodez commented 2 years ago

So I figured out what the issue was: Parsec running in the system tray (noone connected) seems to have been the cause of the issue. Once parsec is fully closed, this tool works GREAT! I have tested it on a few different slideshows and it seems to do them perfectly! Parsec only copies text and not images/files, so this is really kinda interesting.

I am so glad to have this thing working, this tool is great!

If you have any questions about Parsec, let me know and I may know myself, or can probably get a response from one of the devs about it.

maxonthegit commented 2 years ago

Thank you very much for your update and for your appreciation! I am glad that you have finally figured out what the issue was. Indeed, remote desktop clients may interfere with the system clipboard in order to share it with the remote system (having 4 simultaneously running instances is definitely not a common condition either!).

The list of tools that may disturb PPspliT operation is therefore updated as follows:

I am further looking into this problem and will keep this issue open for a while just in case I find a viable solution to allow coexistence with such tools.

maxonthegit commented 2 years ago

Related to #3, #7.

CollinCodez commented 2 years ago

I have been using this tool a good amount over the past few weeks, and with other confilicting software closed I have occassionally ended up getting this same error when converting a long slideshow (50+ slides) all at once. If I do the chunks individually, it is fine, but if I try to do everything at once I end up getting this error. I can email you a few examples of slideshows I have encountered this on if you would like

maxonthegit commented 2 years ago

Yes, you can send a sample (via e-mail), thank you. However, as I have written in advance, even the slide deck used to troubleshoot this issue (PPspliT breaker slide example.pptx) is enough to sometimes trigger the unexpected behavior you are mentioning. I am further investigating this problem but, especially considering the upcoming vacations, it will likely take me several weeks to try to come to a verdict.

felkel commented 1 year ago

Hello, I have probably found the problem on Windows11. System/Clipboard / Clipboard history

Thank you for the excellent plugin. Petr

PS: I do not have English Windows, so the tab names may be different

maxonthegit commented 1 year ago

Thank you @felkel for reporting this observation. Indeed, this seems to confirm a similar behavior experienced in Windows 10, as documented in this comment of #7.

Although the actual cause of this class of interferences is not yet fully understood, a likely explanation is that processing by third-party applications can alter clipboard contents and/or timing of clipboard accesses in a way that triggers race conditions in the execution of PPspliT. So far, the best known workaround is to prevent such interferences from happening altogether, but this issue highlights that in a few corner cases race conditions may still occur without being caused by any specific applications. Investigation on this specific case is still ongoing (sorry, I am not able to provide an ETA).

maxonthegit commented 1 year ago

This issue, as well as #3 and #7, should be definitively addressed by PPspliT release 2.0, freshly published.