NI製品ディスカッション

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

LabVIEWからCで作成したDLLから文字列配列を受け取る方法?

解決済み
解決策を見る

皆様、こんにちは。

 

Visual C++で作成したDLL関数からLabVIEWに2次元配列のデータを受け渡したいと考えています。

具体的には、文字列の配列で見かけ上2次元配列となる形です。

 

DLLの関数プロトタイプ宣言は簡単に書くと、

  extern "C" int   readData( char cChName[][64+1], char cUnit[][64+1] );

の形式になっていて、データの受け渡しはDLL→LabVIEWへの一方通行です。

実際には配列は4x65を想定しています。

 

ところが、このDLLをLabVIEWにインポートしようとすると、当該引数に相当する制御器には2次元配列

あるいは文字列の配列として設定することはできず、単なる文字列あるいはクラスタとして設定しないと

いけないようです。

 

Q1. これをLabVIEWできれいに文字列の配列として扱うことは可能なのでしょうか?

 

Q.2 あるいは、1次元の文字配列としてサイズ4x65バイトを確保しておき、DLLから戻ったら65バイト区

   切りで切り出すのでしょうか?

 

Q.3 あるいは、他にスマートな方法があるのでしょうか?

 

ご存知の方は、ご教示いただきたく存じます。

サンプルあるいはヘルプのURLでも結構です。

 

以上、よろしくお願い致します。

 

 

0 件の賞賛
メッセージ1/2
4,344件の閲覧回数
解決策
トピック作成者が受理

1次元のバイト型配列として受け取り、それから65バイトずつ部分配列を切り出して文字列化することで何とか実現できました。

0 件の賞賛
メッセージ2/2
4,260件の閲覧回数