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 

Reines COM Objekt ohne ActiveX mit Firmenspezifischen Datentypen 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!

08.12.2015, 16:04
Beitrag #1

Smarty Offline
LVF-Grünschnabel
*


Beiträge: 15
Registriert seit: Feb 2008

8.6
2008
de

83301
Deutschland
Reines COM Objekt ohne ActiveX mit Firmenspezifischen Datentypen einbinden
Einen freundlichen Gruß aus Bayern,
ich habe ein riesen Problem. da ich nur ein Anfänger bin, kann ich leider eine Frage nicht beantworten, ob COM Objekte ohne ActiveX und mit Firmenspezifischen Datentypen in LabView eingebunden werden können?
Ich lese immer nur das mit ActiveX schon funktioniert. Aber das ist ohne ActiveX.
Und auch habe ich schon im Forum gefunden, das Spezielle Firmenspezifische Datentypen evtl. nicht unterstützt werden aber ich weiss nicht wie das mit der neuen version von LV ist??
Ein Beispiel und die Umsetzung in C# ist angehängt wer sich ein besseres Bild machen will. Ich bin echt am verzweifeln Sad ich finde keine Aussage und hoffe ihr könnt mir helfen.

Grüße


Angehängte Datei(en)
0.0 .zip  DNCPLCExample.zip (Größe: 471,71 KB / Downloads: 331)

0.0 .pdf  Tutorial CSharp.pdf (Größe: 1,1 MB / Downloads: 2483)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.12.2015, 09:28
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Reines COM Objekt ohne ActiveX mit Firmenspezifischen Datentypen einbinden
Die einzige Möglichkeit, die ich finde und sehe, um aus LabVIEW auf ein COM Objekt zuzugreifen, ist die ActiveX/COM API von LabVIEW.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.12.2015, 10:35
Beitrag #3

Smarty Offline
LVF-Grünschnabel
*


Beiträge: 15
Registriert seit: Feb 2008

8.6
2008
de

83301
Deutschland
RE: Reines COM Objekt ohne ActiveX mit Firmenspezifischen Datentypen einbinden
Ok. Aber dann ist noch nicht geklärt ob Spezielle Firmenspezifische Datentypen evtl. nicht unterstützt werden??Confused

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.12.2015, 10:42
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Reines COM Objekt ohne ActiveX mit Firmenspezifischen Datentypen einbinden
Das hängt von den Datentypen ab. ich würde einfach einmal ausprobieren, was bei den entsprechenden Eigenschaften und Methoden des COM-Objekts innerhalb von LabVIEW angeboten wird.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.12.2015, 12:42 (Dieser Beitrag wurde zuletzt bearbeitet: 09.12.2015 12:51 von rolfk.)
Beitrag #5

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: Reines COM Objekt ohne ActiveX mit Firmenspezifischen Datentypen einbinden
(08.12.2015 16:04 )Smarty schrieb:  Einen freundlichen Gruß aus Bayern,
ich habe ein riesen Problem. da ich nur ein Anfänger bin, kann ich leider eine Frage nicht beantworten, ob COM Objekte ohne ActiveX und mit Firmenspezifischen Datentypen in LabView eingebunden werden können?
Ich lese immer nur das mit ActiveX schon funktioniert. Aber das ist ohne ActiveX.
Und auch habe ich schon im Forum gefunden, das Spezielle Firmenspezifische Datentypen evtl. nicht unterstützt werden aber ich weiss nicht wie das mit der neuen version von LV ist??
Ein Beispiel und die Umsetzung in C# ist angehängt wer sich ein besseres Bild machen will. Ich bin echt am verzweifeln Sad ich finde keine Aussage und hoffe ihr könnt mir helfen.

Grüße

Jens hat nicht ganz recht hier.

Es gibt "nur" zwei Möglichkeiten für Dich.

1) Aus dem COM Server doch noch einen vollwertigen ActiveX Server zu machen.
2) In C(++) eine Wrapper DLL schreiben die das COM interface nach einem Standard C Functionsinterface umsetzt.

COM ist die Technologie die bei ActiveX zu Grunde liegt. Aber ActiveX definiert und verlangt weitere Teile wie eine Typelibrary die meist aus der IDL Beschreibung generiert wird, die das COM Interface für andere Applikationen genau beschreibt. Aus dieser Typelibrary generiert LabVIEW die Property- und Methodnodes um das ActiveX Interface korrekt anzusprechen.

Was betrifft Custom Datatentypen das hängt ein wenig ab was für Datentypen. Wenn die Typelibrary korrekt erzeugt wird, sollte sie alle Informationen enthalten um in LabVIEW auch die Verwendung von Enums und Structs zu ermöglichen.

Im Falle einer Standard C Wrapper Library kümmerst Du Dich eh selber um die korrekten Datentypen. Dabei hat sich in der Vergangeheit bewährt erst die VIs mit der Call Library Node zu generieren mit den Datentypen die man denkt nötig zu haben und dann mit Rechtsklick auf de Call Library Node "Generate C Code" zu wählen, so dass man ein C Funktionstemplate bekommt, das mit den gewählten Datentypen überinstimmt. Zumindest zu Beginn hilft das sehr um keine Fehler bei der Konfiguration der korrekten Call Library Node Datentypen zu machen.

Grundsätzlich würde ich aber bei einer Inhouse COM Komponente wohl doch wählen um eine ActiveX Library daraus zu machen. Das dürfte der schnellere und schmerzlosere Weg sein. Bei COM wo ich den Source Code nicht verfügbar habe, würde ich zum Wrapper greifen. Das ist aber ganz sicher Advanced C Programmierung.

Aber bist Du Dir wirklich sicher dass die von Dir verwendete Komponente nur ein nacktes COM Interface unterstützt? Zumindest eine Typelibrary scheint sie ja schon zu haben!!!

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 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Excel-Datei durchgehend ausfüllen ohne neue Mappen zu öffnen mit ActiveX DM_94 10 15.488 17.05.2018 10:38
Letzter Beitrag: DM_94
  Speicher läuft voll mittels .NET-Objekt mc_schleck 4 9.332 15.05.2018 08:48
Letzter Beitrag: mc_schleck
  PDF in ActiveX Container öffnen, ohne den Tastaturfokus zu verlieren ceekay 0 6.683 04.12.2014 13:16
Letzter Beitrag: ceekay
  CANoe Umgebungsvariable ohne polling mit ActiveX lesen robert_bors 1 7.661 19.03.2013 18:14
Letzter Beitrag: robert_bors
  Easyport von Festo über ActiveX einbinden Korbinian 4 9.256 01.11.2012 20:15
Letzter Beitrag: jg
  Frontpanel mit .NET Objekt (MonthCalendar) hängt elsatobias 9 9.543 07.04.2010 14:09
Letzter Beitrag: elsatobias

Gehe zu: