Java 用の COM ブリッジである Jacob を使用して、既存の VFP 6 アプリケーションを呼び出そうとしています。
val vfp = new Application(new ActiveXComponent("VisualFoxPro.Application").getProperty("Application").toDispatch())
vfp.setVisible(false)
try {
vfp.doCmd("do my.exe with myconfig.txt")
} catch {
case t: Throwable => t.printStackTrace
} finally {
vfp.doCmd("close data")
vfp.doCmd("clear all")
vfp.doCmd("clear")
vfp.quit
vfp.safeRelease
}
エラー条件がない場合、このコードは正常に実行され、期待される .dbfs が生成されます。問題は、エラーが発生すると (.dbf が見つからない、ファイルが別のユーザーによって使用されているなど)、GUI ウィンドウがポップアップし、マウスを使用してキャンセルするまでプログラムの実行が停止することです。このプログラムをユーザーの操作なしでサーバー上で実行したいので、これは機能しません。
VFP 6 プログラムに変更を加えずにエラーを適切に処理するにはどうすればよいですか?