LabVIEWForum.de - Web Services + Wrapper

LabVIEWForum.de

Normale Version: Web Services + Wrapper
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich habe mit C++ mehrere Web Services erstellt. Diese habe ich über LabView einbinden können und auch darauf zugreifen können. Jedoch geht das nur bei Methoden, die keine Pointer zurückliefern.

Mir wurde gesagt, dass ich dazu einen Wrapper bauen muss. Habe ich das richtig verstanden, dass ich dazu eine C++-DLL erstellen muss, die als Web Services Client fungiert und diese anstelle der Web Services in LabView einbinden muss? Sodass der eigentliche Labview-WebServices-Client auf den C++-WebServices-Client zugreift und dieser schließlich mit den WebServices kommuniziert?
Dann müssten die C++-WebServices ja gar nicht mehr über Labview eingebunden werden, oder?

Viele Grüße,
Peter
Moin Peter,

das was Dir gesagt worden ist, stimmt meiner Ansicht nach nur teilweise.
Korrekt ist, dass Du einen Wrapper erstellen solltest. Allerdings bietet es sich an, diesen eben nicht in C++ sondern z.B. in C# zu schreiben.

Dieser Wrapper "übersetzt" komplexe Variablen aber halt auch die Pointer. Aus dem Code erstellst Du Dir dann eine .NET dll.

Auf diese dll kannst Du dann mittels Konstruktorknoten von LV aus zugreifen. Mit Konstruktorknoten verbindest Du dann Eigenschafts-, Methodenknoten oder was auch immer der Wrapper halt hergibt.

Musste vor einigen Jahren selber so etwas basteln.

Leider scheint die Seite, die ich als hilfreich in Erinnerung habe, offline zu sein.
Auf die schnelle habe ich PInvoke Interop Assistant gefunden.
Alternativ diese Seite oder diese.
Oder halt eine Suche nach "managed unmanaged interop" oder "managed unmanaged marshalling" in einer Suchmaschine Deiner Wahl.

Gruß,

Wedgewood
Referenz-URLs