01-11-2021 07:19 PM
LabVIEW2020にて、.NETライブラリをインボークノードを使用して呼び出すアプリケーションを作成しております。
VIを作成し、実行確認ができたところでアプリケーションビルダにてexe化して実行したところ、エラーが発生して実行が終了しました。
エラーコード4で、エラーソースには「****.viのインボークノード」としか表示されません。エラーコード4はEOFに関するものと認識していますが、そのエラーコードがインボークノードで発生する理由がいまいち理解できていません。
呼び出しているDLLを削除してexeを実行すると、別のエラーが発生しているので、DLLの認識はできているものと思っています。
エラーの原因として考えられる事象は何かしらありますでしょうか。
または、アプリケーションビルダでのビルド時に特別に設定すべき項目などあるのでしょうか。
宜しくお願い致します。
解決済! 解決策の投稿を見る。
01-13-2021 02:05 AM
具体的にどのようなエラーメッセージが出てきていたのか(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がインボークノードから出るのは謎ですね。。
01-13-2021 06:20 PM
marble_worker さん
ご回答ありがとうございます。
まさにDLLの依存関係が原因でした。
インボークノードを使用して直接呼び出しているDLLからさらに呼ばれているDLLがビルド時に含まれていなかったために発生していました。
DLLが見つからない旨のエラーが出てくれていればありがたかったんですが。。。
呼び出したDLL内で発生している事なので、エラー内容もそこに依存するということですかね。