エラー 1097: ライブラリ関数呼び出しノードでエラーが発生する

更新しました Aug 21, 2023

使用製品

ソフトウェア

  • LabVIEW

オペレーティング・システム

  • Windows
  • PharLap

問題

LabVIEWコードが外部DLLを参照しています。プログラムを実行すると、ライブラリ関数呼び出しノードでエラー1097が発生したというメッセージが表示されて、プログラムは実行を停止しません。
 

LabVIEWエラー 1097 (Hex 0x449):


考えられる理由:
LabVIEW: ライブラリ関数呼び出しノードで呼び出された外部コードで例外が起きました。例外によってLabVIEWのメモリが破損した可能性があります。新しい場所にファイルを保存し、LabVIEWを再び起動してください。

 


 

解決策

このエラーは、LabVIEWで処理できないDLL内で例外が渡されるために発生することがよくあります。以下の点を確認します。

  • DLLがLabVIEW以外のプログラムで適切に動作する
  • ライブラリ関数呼び出しノードでパラメータのデータタイプは、DLL関数が想定するデータタイプと一致するように構成されている


Erエラー1097は、プログラムがメモリを不適切に処理していることを示している場合もあります。これは、ライブラリ関数呼び出しノードの呼び出し規約が不適切であることが原因である可能性があります。

stdcall(WINAPI)規則は、DLLがメモリ使用量を処理することを期待し、C呼び出し規則はLabVIEWがメモリ使用量を処理することを予期します。stdcall(WINAPI)規則を不適切に使用すると、未処理のメモリが発生する可能性があります。下図に示すように、ノードをダブルクリックして選択を変更することにより、呼び出し規則を構成できます。