INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dieses Thema hat akzeptierte Lösungen:

VB .net dll mit events in LV einbinden



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

31.08.2012, 16:57
Beitrag #1

LV-KT-BMT Offline
LV-Knecht-Prime


Beiträge: 3
Registriert seit: Aug 2012

2011-2012
2006
DE

58507
Deutschland
Question VB .net dll mit events in LV einbinden
Guten Tag/Abend allerseits,

momentan bin ich dabei eine von meinem Kollegen geschriebene VB .net 3.5 dll in LV einzubinden um ein Embedded-System anzusteuern.

Bei dem Embeddedsystem handelt es sich im Prinzip um eine COM gegenstelle die es anzusteuern gitl, das geht über einen USB-UART umsetzer.

Ich habe die Möglichkeit bidirektional den Datenfluss über den verwendeten COM-Port zu verfolgen und auch zu vergleichen.



Das funktioniert alles soweit auch ganz gut, ich bekomme die Funktionsköpfe angezeigt und auch die benötigten Parameter...
Problematisch stellt sich aber die Ausführung der Methoden im Hintergrund dar. Manche Methoden schalten Eventhandler scharf und erstellen
Timing Threads für einen Watchdog der die Kommunikation überwacht.

Die Kommunikation wird auch prinzipiell aufgebaut... aber nach n gesendeten Nachrichten ist schluss... n ist hierbei nie größer als 4 und nie 0.

Es muss im Hintergrund also irgendwas schief laufen, nehme ich an und ich bin mir nicht sicher, ob das überhaupt mit den Events so funktioniert...

Also im Hintergrund der LabVIEW-Anwendung.

Hat sich jemand von euch damit schonmal näher befassen müssen und kann mir generell sagen ob das generell überhaupt geht?


Und ein wichtiger Hinweis noch, die gleiche DLL wird von einer in VB geschriebenen Anwendung verwendet und erfüllt dort ihren Zweck 1A!


Vielen dank schonmal im Voraus

Kai


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.09.2012, 07:38
Beitrag #2

LV-KT-BMT Offline
LV-Knecht-Prime


Beiträge: 3
Registriert seit: Aug 2012

2011-2012
2006
DE

58507
Deutschland
RE: VB .net dll mit events in LV einbinden

Akzeptierte Lösung

Soderle, das Problem ist nun seit Montag gelöst.


Es ist also grundsätzlich möglich events aus .net3.5 und auch aus 4.0 mit der LabVIEW.exe.config in LabVIEW abzuhorchen darauf mit den Callbacks zu reagieren.
Auch das erstellen von eigenständigen Threads aus der dll heraus funktioniert einwandfrei.

Der Knackpunkt an der Ausführung war, dass selbstständig Instanzieren muss und das nicht von der ersten aufgerufenen Methode übernehmen lassen kann.
Ebenso muss nach bildung der Instanz deren gebildete Referenz genutzt werden um die Methoden aufzurufen.

Dies ist im Anhang zu betrachten.

Da diese Fragstellung nun beantwortet wurde, bitte ich einen Admin den Thread zu schließen


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.09.2012, 08:22
Beitrag #3

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: VB .net dll mit events in LV einbinden
(05.09.2012 07:38 )LV-KT-BMT schrieb:  Soderle, das Problem ist nun seit Montag gelöst.


Es ist also grundsätzlich möglich events aus .net3.5 und auch aus 4.0 mit der LabVIEW.exe.config in LabVIEW abzuhorchen darauf mit den Callbacks zu reagieren.
Auch das erstellen von eigenständigen Threads aus der dll heraus funktioniert einwandfrei.

Der Knackpunkt an der Ausführung war, dass selbstständig Instanzieren muss und das nicht von der ersten aufgerufenen Methode übernehmen lassen kann.
Ebenso muss nach bildung der Instanz deren gebildete Referenz genutzt werden um die Methoden aufzurufen.

Dies ist im Anhang zu betrachten.

Da diese Fragstellung nun beantwortet wurde, bitte ich einen Admin den Thread zu schließen

Da wäre ich nie drauf gekommen. Das ist eine Eigenheit der verwendeten Komponente die nur in der Dokumentation dieser Komponente stehen kann (und in Ermanglung einer solchen Dokumentation entweder im entsprechenden Source eines Beispiels oder durch das Messer an die Kehle des Entwicklers dieser Komponente zu setzen Big Grin).

Viel Vergnügen

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Gehe zu: