掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
実行時エラー70について (ID:116374)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
何度もみなさんすいません。 どこでエラーが起こっているかわかりました。 exeファイルを使い計算しているのですが、 おかしい条件の時にexeファイルが無限ループに陥る ことがあり、ある時間が経過した時exeファイルを強制的に 終了させていました。この次の条件を計算する時にエラーが 起こっていました。強制的に終了した時に、時間を空けてやると うまく実行できました。 <時間を空けてやるところ> Public Function WaitTimer(SC As Single) As Double Dim sv As Single sv = Timer Do Until Timer > sv + SC DoEvents Loop WaitTimer = Timer End Function <exeファイルの計算> Dim Ret STRDATA = "" '****** exeファイルが終了するまで待機する ****** lngProcessID = Shell("D:\VB\Kaiseki.exe", vbNormalFocus) hProcess = OpenProcess(SYNCHRONIZE Or PROCESS_TERMINATE, True, lngProcessID) ShellEnd (lngProcessID) Call TerminateProcess(hProcess, 0&) Call CloseHandle(hProcess) If ti >= 10 Then WaitTimer 0.1 End If 上の3行を追加。 <exeファイルの終了まで待機> Private Sub ShellEnd(ProcessID As Long) Dim hProcess As Long Dim EndCode As Long Dim EndRet As Long hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, 1, ProcessID) ti = 0 Do '10秒経過するとexeファイルを終了させる If ti > 10 Then GoTo 2 EndRet = GetExitCodeProcess(hProcess, EndCode) DoEvents Loop While (EndCode = STILL_ACTIVE) 2: EndRet = CloseHandle(hProcess) End Sub
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.