سؤال

لدي تطبيق LabView الذي يرسله الحالية البيانات إلى تطبيق C ++ عبر DLL. أحتاج الآن إلى إرسال البيانات مرة أخرى إلى تطبيق LabView من واحد C ++. هل يمكنني تشغيل الرمز في Labview من مكالمة DLL أو سأحتاج إلى استطلاع DLL بشكل دوري لمعرفة ما إذا كانت البيانات الجديدة تنتظر؟

أو هل سأذهب إلى هذا بطريقة خاطئة تماما؟

هل كانت مفيدة؟

المحلول

من الممكن إنشاء حدث من C ++ لتشغيل حدث LabView عادي.
هنا هي منتديات ني المناقشة مناقشة هذا الهيكل. وكود مقتطف من هذا الموضوع:

#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.

حظا طيبا وفقك الله،

طن

ملاحظة: إذا كنت تسير في الغوص في DLLs و Labview Interperiberability، فإن الانتباه إلى كل شيء يقول Rolfk، وهو معلم في هذا المجال.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top