NI製品ディスカッション

キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

英語OS(Win10)で、日本語版Labview 2017SP1(Win10) で作成したexeが実行できない

お世話になります。

 

英語版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のメッセージなどフォルダ名に日本語があります。

0 件の賞賛
メッセージ1/3
906件の閲覧回数

非同期呼び出しされるVIのパスに日本語は含まれていますか?

AFはVI階層がやたら深いので探るのに骨が折れます。

 

英語版OSのPCに英語版LabVIEWをインストールしてプロジェクトが動作するか試すのが手っ取り早いです。

また、日本語版LabVIEWでビルドしたEXEは、環境に組み込まれているメッセージが日本語なので、英語版OSで実行したときにエラーメッセージなどが化けます。なので英語版LabVIEWでビルドしたアプリを配布することをお勧めします。

0 件の賞賛
メッセージ2/3
879件の閲覧回数

J.H.Watson様

 

ご回答ありがとうございます。

 

非同期呼び出ししているVIのパスに日本語は含まれてはいません。

 

英語版OS+英語版Labviewでの作成の方を試してみます。

 

アプリ内に言語切り替えの機能(日本語⇔英語)を入れているため、

できれば1つの開発環境でビルドしたいと思っています。

 

英語版OS+英語版Labviewに環境を統一して実行できればいいですが、

開発時は多少不便になりそうです。

0 件の賞賛
メッセージ3/3
871件の閲覧回数