NI製品ディスカッション

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

C言語で作成したDLLの取り扱いについて

はじめまして。
 
C言語で作成したDLLの取り扱いについて質問いたします。
 
DLLの中にbool型で宣言された引数をもつものがいくつかあるのですが、LabVIEWでbool型の宣言がないので引数をどう取り扱ったらよいかわかりません。
 
どなたかわかる方がいたら教えてください。
 
また、このDLLは測定器を動作させるためのDLLであり、いくつかの関数をもっています。
 
測定器をシーケンシャルにDLLを用いてLabVIEWで動かしたい場合どうしたらよいかもわかる方がいたら教えてください。
0 件の賞賛
メッセージ1/2
4,305件の閲覧回数
平素よりNI製品をご利用頂きまして有り難うございます。
日本ナショナルインスツルメンツ技術部の神谷です。
 
C言語で作成されたDLLのBOOL型のパラメータへアクセスするには、LabVIEWI32データタイプを使用します。
 
LabVIEWにDLL呼び出しのサンプル"Call DLL.vi"が用意されています。(場所: ヘルプ >> サンプルを検索 >> 外部アプリケーションとの通信 >> 外部コードの使用 >> DLLの統合)
 
その中のBOOLのサンプルVIが実際にDLL関数にあるBOOL型の引数にアクセスする例となります。
DLLへBOOL値を渡すときは直前で「ブールから(0,1)に変換」関数でI32型に変換します。
値を受け取るときは関数の引数からポインタを取得後、「0に等しくない?」関数でBOOLに戻しています。
 
シーケンシャルにDLL関数を呼び出したいということであれば、「ライブラリ関数呼び出しノード」間でエラー結線をするだけで良いと思います。
 
以上、ご不明な点がございましたらお問い合わせ下さい。
 
日本ナショナルインスツルメンツ株式会社
技術部 神谷
 
0 件の賞賛
メッセージ2/2
4,275件の閲覧回数