私は現在、DLLを介してC++アプリケーションにデータを送信するLabVIEWアプリケーションを持っています。私は今、C++からLabVIEWアプリケーションにデータを送り返す必要があります。 DLLコールからLabVIEWでコードをトリガすることはできますか?または、新しいデータが待機しているかどうかを定期的にポーリングする必要がありますか?LabVIEWでの非同期DLLアクセス?
また、私は完全に間違った方法でこれについて行っていますか?
私は現在、DLLを介してC++アプリケーションにデータを送信するLabVIEWアプリケーションを持っています。私は今、C++からLabVIEWアプリケーションにデータを送り返す必要があります。 DLLコールからLabVIEWでコードをトリガすることはできますか?または、新しいデータが待機しているかどうかを定期的にポーリングする必要がありますか?LabVIEWでの非同期DLLアクセス?
また、私は完全に間違った方法でこれについて行っていますか?
通常のLabVIEWイベントをトリガするイベントをC++から生成することは可能です。
Hereは、この構造について議論しているNIフォーラムの投稿です。 そして、そのスレッドからの抜粋コード: alt text http://vi-lib.com/forForum/eventDLL.PNG
そして、ここでは、添付のLabVIEWコードです:
#include <utility.h>
#include <extcode.h>
#include "EventDLL.h"
//Generate a LabVIEW event
int GenerateLVEvent(LVUserEventRef *msg, int param)
{
PostLVUserEvent(*msg, (void *)¶m);
return 0;
}
そして、ここでは、PNG、元のソースコードだ
alt text http://vi-lib.com/forForum/eventLV.PNG
下ループが送信するLabVIEWコードでありますLabVIEWイベントハンドラへのDLLイベント。 これはDLL内に配置する必要があります。 入力パラメータの1つがU32としてのイベントポインタである必要があります。
幸運、
トンあなたは、DLLおよびLabVIEWの相互運用性に飛び込むRolfKが言うすべてに注意を払って行う予定がある場合
PSは、彼がその分野での第一人者です。
このスレッドとリンクされたスレッドの発生の例の間に、私はうまくいくはずです。ありがとう! – dwj
はい、発生は単純なバージョンのイベントです。 –