【问题标题】:Asynchronous DLL access in LabVIEW?LabVIEW中的异步DLL访问?
【发布时间】:2009-07-23 23:52:38
【问题描述】:

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

或者我是否以完全错误的方式处理这个问题?

【问题讨论】:

    标签: dll labview


    【解决方案1】:

    可以从 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 格式的原始源代码:
    (来源:vi-lib.com
    这是随附的 LabVIEW 代码:

    下面的循环是 LabVIEW 代码,它将 DLL 事件发送到 LabVIEW 事件处理程序。 这应该放在您的 DLL 中。 输入参数之一应该是作为 U32 的事件指针。

    祝你好运,

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

    【讨论】:

    • 在此与链接线程中的出现示例之间,我应该很高兴。谢谢!
    • 是的,一次发生是事件的简单版本。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-13
    • 2015-01-18
    • 1970-01-01
    相关资源
    最近更新 更多