6

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

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

4

1 回答 1

7

可以从 C++ 生成一个事件来触发一个普通的 LabVIEW 事件。
是讨论此结构的 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的原始源代码:( 来源:vi-lib.com 这里是随附的LabVIEW代码: 下面的循环是向LabVIEW事件处理程序发送DLL事件的LabVIEW代码。这应该放在您的 DLL 中。输入参数之一应该是作为 U32 的事件指针。替代文字


替代文字

祝你好运,

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

于 2009-07-24T08:36:00.867 回答