NI製品ディスカッション

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

exeからのインボークノードの使用について

解決済み
解決策を見る

LabVIEW2020にて、.NETライブラリをインボークノードを使用して呼び出すアプリケーションを作成しております。

VIを作成し、実行確認ができたところでアプリケーションビルダにてexe化して実行したところ、エラーが発生して実行が終了しました。

エラーコード4で、エラーソースには「****.viのインボークノード」としか表示されません。エラーコード4はEOFに関するものと認識していますが、そのエラーコードがインボークノードで発生する理由がいまいち理解できていません。

呼び出しているDLLを削除してexeを実行すると、別のエラーが発生しているので、DLLの認識はできているものと思っています。

 

エラーの原因として考えられる事象は何かしらありますでしょうか。

または、アプリケーションビルダでのビルド時に特別に設定すべき項目などあるのでしょうか。

 

宜しくお願い致します。

0 件の賞賛
メッセージ1/3
797件の閲覧回数
解決策
トピック作成者梅こぶ茶が受理

具体的にどのようなエラーメッセージが出てきていたのか(DLLを削除したあとなども)、画像を貼っていただけると他の方からも回答を得られやすいかなと思います。

 

別のスレッドで、似たようなトピックと思われるものがありました。

 

https://forums.ni.com/t5/LabVIEW/net-constructor-gives-error-4-when-compiled-to-exe/td-p/3805661

 

このスレッドを見ると、dllの依存関係とかに注目するといいのかもしれないようです。ちなみに、EXEを動かしているのは、EXEを作った環境と同じですか?あるいは別のPCでEXE動かしていたりするのでしょうか?

 

エラー4がインボークノードから出るのは謎ですね。。

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

marble_worker さん

 

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

まさにDLLの依存関係が原因でした。

インボークノードを使用して直接呼び出しているDLLからさらに呼ばれているDLLがビルド時に含まれていなかったために発生していました。

 

DLLが見つからない旨のエラーが出てくれていればありがたかったんですが。。。

呼び出したDLL内で発生している事なので、エラー内容もそこに依存するということですかね。

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