01-17-2022 06:18 AM
お世話になります。
英語版OS(Win10)で、日本語版Labview2017SP1(Win10)で作成したexeを実行すると、ロード画面が表示され、最終的にVIが実行不能(ErrorNo1003)で起動できません。同じexeで日本語OSでは正常に動作しております。
操作としては、以下になります。
・日本語版Labviewでビルド、インストーラ作成後日本語版での動作を確認
・英語OSにコピーし、exeを実行するとVIのロードが発生し、instr.libを探しているメッセージが表示されます。その後VIが実行できないエラー(Error1003)が表示されます。(instr.libは未使用)
見つからないVIは、以下のように呼び出しています。
・現在のVIのパスをストリップし、VI名を渡してパス作成
・VIリファレンスを開くで、非同期呼び出し
オプションは、0x80、パスは上記で作成しています
他に以下を試しましたが、結果は変わりませんでした。
・ビルド時のランタイム言語を英語のみ(デフォルト英語)にする
・インストール仕様の言語を英語に変更
・現在のVIのパスでなく、VI名をそのままパスにして渡す
(VIの場所が非同期呼び出ししているVIと同じフォルダにあるため)
英語版のLabview2017 SP1でビルドしての動作は試していませんが、
現状の日本語版Labviewのまま実行できるようにできないでしょうか。
アプリ自体は英語対応していますが、ActorFrameworkのメッセージなどフォルダ名に日本語があります。
01-17-2022 07:12 PM
非同期呼び出しされるVIのパスに日本語は含まれていますか?
AFはVI階層がやたら深いので探るのに骨が折れます。
英語版OSのPCに英語版LabVIEWをインストールしてプロジェクトが動作するか試すのが手っ取り早いです。
また、日本語版LabVIEWでビルドしたEXEは、環境に組み込まれているメッセージが日本語なので、英語版OSで実行したときにエラーメッセージなどが化けます。なので英語版LabVIEWでビルドしたアプリを配布することをお勧めします。
01-17-2022 07:33 PM
ご回答ありがとうございます。
非同期呼び出ししているVIのパスに日本語は含まれてはいません。
英語版OS+英語版Labviewでの作成の方を試してみます。
アプリ内に言語切り替えの機能(日本語⇔英語)を入れているため、
できれば1つの開発環境でビルドしたいと思っています。
英語版OS+英語版Labviewに環境を統一して実行できればいいですが、
開発時は多少不便になりそうです。