□技術メモ - Java VB6 連携 ※管理人の個人的な技術メモです。このページの内容の実行結果について 管理人はいかなる責任も負いかねますのでご自身の責任でお試しください。 ----------------------------------------------------------- ・JavaからVBを呼び出す際の連携についての考察 ・Javaが起動したらJava起動IDファイルを生成する。終了時に自動削除する。 ・VBが起動したらVB起動IDファイルを生成する。Unloadイベントで削除する。 ・VBはJava起動IDファイルを監視、削除されていたら現在のデータをカレントとして保存してVBも終了する。 ・Javaも同様にVB起動ファイルを監視する。 ・VB側の処理が終わったら、相互監視終了の電文を送信して終了する。 ・相互監視は、VB側で大きめの処理を呼び出す際に行う。 単なるメッセージ表示などでは必要としない。 ・JavaがVBを呼び出す際の起動パラメータは以下の3つ。 Java起動IDファイルのパス VB起動IDファイルのパス 電文ファイルのパス ・シーケンス概要 + Java起動 | Java起動IDファイルを生成、なんらかの方法でLock | | |VB起動IDファイル生成 |VB呼び出し |------→+ VB起動 | | VB起動IDファイルをなんらかの方法でLock | | 起動IDファイルの相互監視開始 | | | | | | | | |←------+ 電文送信:相互監視終了 | | | + VB終了 | | VB起動IDファイル削除, 電文ファイル削除 | | + Java終了 | Java起動IDファイルを削除 ※注意 deleteOnExitは確実に動作するメソッドではないようなので、 ファイルロックに使用するのは向いてないようです。