エラー 7: LabVIEWアプリケーションGetValueByPointer XNodeを使用するとエラーが発生する

更新しました Oct 23, 2023

使用製品

ソフトウェア

  • LabVIEW

問題

LabVIEWの実行ファイルでGetValueByPointer XNodeを使用するとエラー7が発生し、ライブラリ関数呼び出しノードが対応するDLLファイルを見つけられなかったことを表示しています。
 

Error 7 occurred at Call Library Function Node

Possible reason(s):
LabVIEW: (Hex 0x7) File not found. The file might be in a different location or deleted. Use the command prompt or the file explorer to verify that the path is correct.


開発環境でGetValueByPointer XNodeを使用してもエラーにはならず、予想どおりに実行されます。

解決策

GetValueByPointer XNodeは、LabVIEWインストールディレクトリのリソースディレクトリにあるlvimptsl.dllを呼び出します (例: C:\Program Files (x86)\National Instruments\LabVIEW 2018\resource)。LabVIEWアプリケーション(実行ファイル)でこのXNodeを使用する場合、lvimptsl.dllへのパスを解決できないため、エラー7が発生します。この問題を解決するには、以下の方法を使用します。
 
  1. LabVIEWプロジェクトにlvimptsl.dllを明示的に含めます。
  2. LabVIEWアプリケーションのビルド仕様を設定するときは、resourcesというサポートディレクトリを指定します。
  3. アプリケーションをビルドする際、lvimptsl.dllがこのサポートディレクトリ内に「常に含まれる」として配置されていることを確認します。

別の方法としては、LabVIEW.iniファイルに次のINIトークンを含めてXNodeソースコードにアクセスできるようにすることもできます。
  • xnodewizardmode=true

その後、GetValueByPointer XNodeのソースコードに右クリックしてXNodeWizardMenu>>Generated Codeを選択し、lvimptsl.dllへの完全なパスを指定することでアクセスできるようになります(例: C:\Program Files (x86)\National Instruments\LabVIEW 2018\resource\lvimptsl.dll)。

追加情報

XNodeは、ナショナルインスツルメンツによって正式にサポートされていないため、開発環境がクラッシュする可能性があることに注意してください。