Hallo,
bei uns in der Firma wird mit vielen Programmiersprachen gearbeitet. Die verschiedenen Programme sollen ggf. auch Daten untereinander austauschen können. Auf C- oder VB- Ebene geht das u.a. durch eine dll, die ein Event erzeugt, auf das die jeweiligen Programme Eventgesteuert reagieren.
Nun zu meiner Frage, gibt es in LabVIEW eine Möglichkeit auf Events zu reagieren, die eine dll erzeugt.
Wie sieht das auf dll- Seite und auf LabVIEW- Seite aus.
Hat jemand ein Beispiel, muß nicht voll funktionieren, sondern nur so um die Wirkungsweise erklärt, oder gibt es irgendwo etwas geschriebenes zu dem Thema.
Bisher weiß ich als einzige Möglichkeit nur immer wieder die dll zu Pollen, ob es neue Daten gibt.
Ist aber ja irgendwie nicht so elegant.
Für jede Art von Tipps dankbar.
MFG Rüdiger
' schrieb:Hello,
This is the link of calling LabVIEW from C++ using ActiveX:
http://sine.ni.com/apps/we/niepd_web_displ...034080020E74861
This is the link of calling LabVIEW from VB:
http://sine.ni.com/apps/we/niepd_web_displ...034080020E74861
Hope this will help.
Thank you.
Irene
Hallo,
das gleiche Problem habe ich auch aber nur auf der LabVIEW 8.2 Seite.
Meine alten LV 6.2 Programe die mit event Activex aus DLL Umgebungen laufen, aber unter 8.2 soll das anders aussehen, die Event Steuerung ist veraendert worden ? Es gibt keine einfachen Beispiele auf der LV seite dazu !
Ich suche ein ab LV 8 Beispiel das auf Event ueber COM .NEt oder xactive reagiert !
Danke
' schrieb:Hallo,
das gleiche Problem habe ich auch aber nur auf der LabVIEW 8.2 Seite.
Meine alten LV 6.2 Programe die mit event Activex aus DLL Umgebungen laufen, aber unter 8.2 soll das anders aussehen, die Event Steuerung ist veraendert worden ? Es gibt keine einfachen Beispiele auf der LV seite dazu !
Ich suche ein ab LV 8 Beispiel das auf Event ueber COM .NEt oder xactive reagiert !
Danke
Also seit LabVIEW 7.0 gibt es User Events. Und LabVIEW exportiert eine C Funktion die man in DLLs aufrufen kann um solche Events zu triggern. Angehängt ist ein kleines Beispiel wie das geht. Ist an sich nicht ganz so sinnvoll in dieser Art aber ich habe versucht es so einfach wie möglich zu halten.
Prinzipiel kann ein User Event beliebig komplexe LabVIEW Daten beinhalten. Der Datentyp wird bei der Create User Event Funktion festgelegt. Um herauszufinden wie das Memorylayout komplexerer Datentypen in C aussehen soll, um diese als zweiter Parameter an PostLVUserEvent() übergeben zu können, kann man am einfachsten den Datentypen an einen Eingangsparameter einer Call Library Node anbinden, der auf Native Datatype gesetzt ist und durch die rechte Maustaste und selektieren der Option Create .c File einen C File generieren lassen wo der Datentyp sauber deklariert wird.
Ist an sich alles recht einfach aber ein seriöses Verständnis von C Programmierung ist absolut notwendig. Bitte keine Fragen wie: "Ich weiss nicht was das ist, könntest Du mir Problem X/Y für Library Z schnell mal programmieren/erklären/Händchen halten?"
Rolf Kalbermatter
Hallo,
na das nenne ich mal eine schnelle Antwort.
Und genau das was ich brauch, jawohl auf der C++ - c# sind wir Sattelfest.
Danke
' schrieb:Hallo,
na das nenne ich mal eine schnelle Antwort.
Und genau das was ich brauch, jawohl auf der C++ - c# sind wir Sattelfest.
Danke
Hallo,
noch eine Anmerkung die Events die ich meine sind die, die Programe ueber COM oder ActiveX erzeugt werden und diese eben liesen sich bereits schon mit LV 5.0 abfangen aber nun ist mir auch die benoetigte Struktur auf der LV8 klar.
Danke fuer deine Hilfe
Hallo,
da habe ich aber doch noch ein entscheidenen Unertschied zw. LV6.2 und LV7 - LV8 gefunden.
Es gehen damit keine hidden events mehr aus ActiveX abzufangen oder ?
Wir haben in unseren Anwendungen eben diese hidden verwendet, damit nur wir darauf zugreifen keonnen.
Im Anhang mal ein Beispiel, least sich das wieder Abbilden auf ein LV8 Umgebung ?
Weil auch der Variant der beim event uebergeben wird sich fuer nicht auf LV7-8 abbilden least oder gibt es ein Trick dazu.
Unser event heisst on4Pishutter dabei werden zwei Variants uebergeben (derzeit voll Funktionsteuchtig nur die Funktionen wait on event und creative event gibt es in LV8 nicht mehr)
So dann mal sehen wer mir helfen kann.
Vielleicht auch hier feur andere Anwender ein Interessantes Beispiel.
Leider kann ich die ActiveX lib nicht rausgeben geht ja auch nur ums Prinzip.
Gruss Reiner