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 

SafeArray (COM) in LabVIEW



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!

28.01.2008, 17:48
Beitrag #1

HolgerHH Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: Jan 2008

2009
1997
EN

22525
Deutschland
SafeArray (COM) in LabVIEW
Ich bin kein MS Visual Studio/VB Experte, ichhoffe ich frage hier keinen völligen Quatsch...

Zur Kommunikation mit COM Objekten (ActiveX) braucht man oft die aus VB stammenden SafeArrays. Soweit ich das verstanden habe scheint das eine spezielle Form von Variants zu sein (oder in LV so angezeigt zu werden).

Leider gelingt es mir im Gegensatz zu einfacheren Übergabeparametern nicht, diese über LV anzusprechen. Ich habe auch keine entsprechenden Beispiele gefunden, da werden immer nur einfache Variablen übergeben.Sad

Kann man SafeArrays überhaupt in LabVIEW (8.5) ansprechen und wenn ja, wie?

Danke
Holger
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
28.01.2008, 18:49 (Dieser Beitrag wurde zuletzt bearbeitet: 28.01.2008 18:49 von Y-P.)
Beitrag #2

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
SafeArray (COM) in LabVIEW
Ich kenne mich damit leider auch nicht aus, aber wie es aussieht (wenn man auf der NI-Seite sucht), kommt man da wohl nur mit LabWINDOWS/CVI weiter.

Gruß Markus

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.01.2008, 12:22 (Dieser Beitrag wurde zuletzt bearbeitet: 29.01.2008 12:23 von rolfk.)
Beitrag #3

rolfk Offline
LVF-Guru
*****


Beiträge: 2.302
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
SafeArray (COM) in LabVIEW
' schrieb:Ich bin kein MS Visual Studio/VB Experte, ichhoffe ich frage hier keinen völligen Quatsch...

Zur Kommunikation mit COM Objekten (ActiveX) braucht man oft die aus VB stammenden SafeArrays. Soweit ich das verstanden habe scheint das eine spezielle Form von Variants zu sein (oder in LV so angezeigt zu werden).

Leider gelingt es mir im Gegensatz zu einfacheren Übergabeparametern nicht, diese über LV anzusprechen. Ich habe auch keine entsprechenden Beispiele gefunden, da werden immer nur einfache Variablen übergeben.Sad

Kann man SafeArrays überhaupt in LabVIEW (8.5) ansprechen und wenn ja, wie?

Danke
Holger

Ich bin mir nicht sicher aber glaube dass SafeArrays durchaus gehen sollten. Die Variants entsprechen ja in wesentlichen Teilen den LabVIEW Variants auch wenn die interne Implementation nicht dieselbe ist. Aber LabVIEW kann zwischen Windows Variants und den eigenen Variants ziemlich gut konvertieren.

Was zeigt Dir ein Variantkontroll an wenn Du es mit so einer Variant verbindest? Hast Du schon mal versucht mit Variant to Data, diese Variant in ein Array vom entsprechenden Datentyp zu konvertieren? Ein Safearray ist zwar ein bischen komplex und nur mit Windows API Funktionen anzugehen, aber ich bin mir sicher dass die LabVIEW Variants in neueren Versionen normalerweise damit umgehen können. Die Herausforderung ist normalerweise zu wissen, was für ein Arraydatentyp diese Variante hat, um sie danach mit Variant To Data in einen entprechenden LabVIEW Datentyp umzuwandeln.

Versuch es mal.

Rolf Kalbermatter

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
29.01.2008, 14:12
Beitrag #4

HolgerHH Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: Jan 2008

2009
1997
EN

22525
Deutschland
SafeArray (COM) in LabVIEW
' schrieb:Ich bin mir nicht sicher aber glaube dass SafeArrays durchaus gehen sollten. ...

Versuch es mal.

Rolf Kalbermatter

Ok, danke für den Anstoss, es geht doch. Ich war nur etwas blind bzw. hab's einfach nicht verstanden....

Hier mal das control vom Variant:
   

Nach Konvertieren mit Variant To Data und genaueren Nachlesen der Spezifikation entsprechend die Konvertierten Daten tatsächlich dem was sie sein sollen...

Was mich ursprünglich aus der Bahn geworfen hatte war folgendes Problem:
   
Das hat sich jetzt aber als Problem mit Unicode herausgestellt, nicht als Problem mit SafeArrays. Dazu habe ich hier einen interessanten Beitrag gefunden und kann mit der Bibliothek von Rolf auch Unicode konvertieren:
http://forums.ni.com/ni/board/message?boar...uireLogin=False

Kurze Zusammenfassung:
Wenn man weiß welches Datenformat dahintersteckt kann man SafeArrays konvertieren und dann mit den Daten arbeiten. Wenn man aber das Pech hat Unicode strings von einer externen Anwendung zu bekommen, muß man die mit zusätzlichen Libraries konvertieren da LabVIEW das (noch?) nicht unterstützt.

Gruß
Holger
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: