gpt4 book ai didi

vb.net - 执行 Action 时检测随机的Powerpoint卡住

转载 作者:行者123 更新时间:2023-12-03 17:40:24 25 4
gpt4 key购买 nike

我正在使用Interop和VB.NEt 4.0循环创建许多Powerpoint幻灯片,但无法解决奇怪的Powerpoint崩溃。

幻灯片的创建在大多数情况下效果很好,但是有时Powerpoint会遇到自身的问题并停止正常工作。
在大多数情况下,它只是停止响应,立即崩溃。检测此故障很容易,只需评估H_Result。但是有时会出现更具挑战性的失败:Powerpoint停止响应,但不会引发异常。它只是停止工作,直到有人手动尝试按Powerpoint中的按钮,这会产生异常。
但是,如果没有人按此按钮,Powerpoint将无限期保持冻结状态。由于这种情况,我的代码将永远没有机会评估该问题。如果您想在晚上创建大量的幻灯片,并且在幻灯片50之后停止播放,这会特别烦人。是否有人知道如何解决此问题。整个程序都在Backgroundworker中运行-也许我的主线程可以每分钟询问bgw“您还活着吗?但是如何实现这一点。

以下是Backgroundworkercode的简单概述。

基本上,它看起来像这样:

Dim SlideNumber as Integer =0
Dim PowerpointHasCrashed as Boolean
Dim Slide as pptns.Slide

do while SlideNumber<ListOfSlidesTobeCreated.Count-1 and PowerpointHasCrashed =False

try
DoStuffWithSlide(ListOfSlidesTobeCreated(SlideNumber))
catch ex as exception
If ex.message like PowerPointFailue then
PowerpointHasCrashed =True
End If
end try

SlideNumber +=1
end while

If PowerpointHasCrashed =true then
SlideNumber -=1
'Do some Stuff to repair the Damage and start the loop again.
End If

最佳答案

经过一番努力之后,我只是使用Backgroundworker.Reportsprogress子项将datetime变量设置为now。
计时器每3分钟检查一次此变量,如果此变量早于5分钟,则Powerpoint将被杀死并重新启动。
因为每个完成的幻灯片都会导致报告进度增加,所以效果很好。

关于vb.net - 执行 Action 时检测随机的Powerpoint卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11859105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com