Tag: message loop

为什么(或如何检测)我的DDE会话从Excel中随机挂起?

问题的性质 : 我有一个macros启用的Excel表,成功地build立了与ManMan数据库系统Minisoft的terminal应用程序的DDE连接和对话。 大约95%的时间DDE工作正常,但有时(〜5%)似乎没有任何数据交换之间的Excel和Minisoft。 发生这种情况时,Minisoft shell挂起,等待数据locking我的工作表,直到崩溃或用户终止Excel进程。 这种挂在对话中的事情只会发生在shell打开之后的对话开始时,它似乎是随机发生的(我可以执行这个表的VBA三次,挂起或者我可以执行五十次而不会挂起)。 一旦发生DDE挂起,它将在每次执行尝试(即使我closuresExcel / Minisoft并重新打开)之前挂起,直到我重新启动机器或注销并重新login到Windows,似乎没有任何其他的补救措施。 如果任何人有任何洞察什么可能导致这个问题,请让我知道。 我需要能够阻止它或检测何时发生这种挂起。 代码和附加信息: Public channel As Long Public Sub StartManMan(login As String, HpPass As String, manPass As String, accountPass As String) Dim MiniPath As String Dim Retval MiniPath = ":\Minisoft\WS92-2\Ws92_32.exe" On Error Resume Next Retval = Shell("D" & MiniPath, vbNormalNoFocus) On Error Resume Next Retval […]