|
LabVIEWの文字列を、char*(文字配列へのポインタ)を必要とするDLLへ渡すには2通り方法があります。
最も一般的な方法は関数パラメータをC Strとして定義することです。ブロックダイアグラム上にライブラリ関数呼び出しノードを配置し、ライブラリ関数呼び出しノードをダブルクリックして呼び出したい関数のプロトタイプを指定します。ここでパラメータを文字列タイプに、フォーマットをC 文字列ポインタに指定します。
プロトタイプがデータタイプをC Strと表示する点にご注意ください。このデータタイプはchar*と同じです。
文字列ベースの計測器制御を行う場合は、文字列内のNULL値の可能性から考えてC文字列よりも8ビット整数の配列を渡すほうがより簡単かも知れません。ライブラリ関数呼び出しノードを配置し、ライブラリ関数呼び出しノードをダブルクリックして呼び出したい関数のプロトタイプを指定します。ここで重要な点はパラメータタイプを配列に、データタイプを符号付き8ビット整数にして指定することです。配列の次元は1でフォーマットは配列データポインタです。LabVIEWでは「文字列からバイト配列に変換」viを使用して文字列からバイト配列に変換しなければなりません。
ライブラリ関数呼び出しノードからの出力は変更された文字配列になるので、文字列に再変換する必要があります。
LabVIEW7.1又はそれより古いバージョンでLabVIEWコードを他のプログラム言語と併用する方法に関するドキュメントについてはマニュアル「Using External Code in LabVIEW」(下記リンク)をご参照ください。
LabVIEW8.0又はそれ以降のバージョンについてはLabVIEWヘルプ(下記リンク)の
Fundamentals>>Calling Code Written in Text-Based Programming Languagesをご参照ください。
|