次のコードでエラー 6: .NET アプリケーション (QCSearch.exe) を起動するとオーバーフローが発生するのはなぜですか:
Private Sub StartQCSearch()
Dim wsh As WshShell
Dim waitOnReturn As Boolean: waitOnReturn = True
Dim windowStyle As Integer: windowStyle = 1
Dim errorCode As Integer
Dim pth As String
Set wsh = New WshShell
pth = ThisWorkbook.Path & "\QCSearch.exe"
// Following line is marked, when debugging error 6:
errorCode = wsh.Run(pth, windowStyle, waitOnReturn)
If errorCode <> 0 Then
MsgBox "QCSearch.exe exited with error code " & errorCode & "."
End If
End Sub
.NET アプリケーション (c# で記述) には、ダイアログを開くメイン フォームがあります。このダイアログを確認すると、エラー 6 が発生し、.NET アプリケーションがすぐに閉じられます。
ダイアログが で割り当てられない終了コードを返しているようですerrorCode
。しかし、私が言ったように、.NET アプリケーションの終了コードを確認しましたが、通常はダイアログを閉じるのではなく、メイン フォームを閉じることで返されるはずです?!
また、エラーをデバッグした後も、errorCode
変数にはまだ 0 が割り当てられています。
事前に助けてくれてありがとう。
更新:
Windows CMD から .NET アプリケーションを起動すると、ダイアログを確認した後にも壊れます。今、私は本当に混乱しています。内部ダイアログがアプリケーション全体を閉じる理由を知っている人はいますか?