LabVIEW 中的异步 DLL 访问?

发布于 2024-07-29 03:58:48 字数 174 浏览 5 评论 0原文

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

还是我以完全错误的方式处理这件事?

I have a LabVIEW application that current sends data to a C++ application via a DLL. I now need to send data back to the LabVIEW app from the C++ one. Can I trigger code in LabVIEW from a DLL call or will I need to poll the DLL periodically to see if new data is waiting?

Or am I going about this in completely the wrong way?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

往日情怀 2024-08-05 03:58:48

可以从 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 *)¶m);
return 0;
}

这是 PNG 格式的原始源代码:
替代文本
(来源:vi-lib.com
以下是附带的 LabVIEW 代码:
替代文本
下面的循环是 LabVIEW 代码,它将 DLL 事件发送到 LabVIEW 事件处理程序。
这应该放置在您的 DLL 中。
输入参数之一应该是 U32 形式的事件指针。

祝你好运,

Ton

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

It is possible to generate an event from C++ to trigger a normal LabVIEW event.
Here is a NI forums post discussing this structure.
And a code excerpt from that thread:

#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;
}

And here's the original sourcecode as a PNG:
alt text
(source: vi-lib.com)
And here is the accompanying LabVIEW code:
alt text
The lower loop is LabVIEW code that sends a DLL event to the LabVIEW event handler.
This should be placed inside your DLL.
One of the input parameters should be the event pointer as a U32.

Good luck,

Ton

PS if you are going do dive into DLLs and LabVIEW interoperability, pay attention to everything RolfK says, he is a guru in that field.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文