LabVIEW中的异步DLL访问?

时间:2009-07-23 23:52:38

标签: dll labview

我有一个LabVIEW应用程序,当前通过DLL将数据发送到C ++应用程序。我现在需要将数据从C ++发送回LabVIEW应用程序。我可以从DLL调用中触发LabVIEW中的代码,还是需要定期轮询DLL以查看新数据是否在等待?

或者我是以完全错误的方式解决这个问题?

1 个答案:

答案 0 :(得分:7)

可以从C ++生成一个事件来触发正常的LabVIEW事件 Here是一个讨论这种结构的NI论坛帖子。 以及该线程的代码摘录:

#include <utility.h>
#include <extcode.h>
#include "EventDLL.h"
//Generate a LabVIEW event
int GenerateLVEvent(LVUserEventRef *msg, int param)
{
PostLVUserEvent( *msg, (void *)&param);
return 0;
}

这是原始源代码作为PNG: alt text
(来源:vi-lib.com
以下是随附的LabVIEW代码:
alt text
下部循环是LabVIEW代码,它将DLL事件发送到LabVIEW事件处理程序。 这应该放在你的DLL中。 其中一个输入参数应该是事件指针为U32。

祝你好运,

PS如果你要深入研究DLL和LabVIEW的互操作性,请注意RolfK所说的一切,他是该领域的大师。