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 

DLL ansprechen



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!

30.01.2014, 13:34
Beitrag #1

Frontpanel Offline
LVF-Neueinsteiger


Beiträge: 5
Registriert seit: Feb 2013

2012
2008
EN



DLL ansprechen
Hallo allerseits,

Mein labview-Problem:

Vorliegen habe ich eine SDK, eine DLL für 32bit und eine für 64bit sowie eine Headerdatei und eine in meinen Augen mickrige Dokumentation.

Ich bin so vorgegangen:
Mit dem Labview-eigenen Import-Wizard habe ich die Wrapper-VI's erzeugt, also für jede Funktion der DLL ein spezielles VI.
Calling Convention: C
Thread: Run in UI thread

Das Gerät ist per USB verbunden. Testprogramme des Herstellers funktionieren - die Kommunikation klappt also prinzipiell.
Nur: ich kann mit dem Gerät nicht kommunizieren. Nichteinmal der Aufruf der Bibliothek (get libary info) liefert sinnvolle Werte. ich bekomme keine Fehlermeldung, aber eben auch keine sinvolle Antwort von der DLL.

Könnte es daran liegen, dass ich auf einem 64bit windows 7 system mit 32bit labview arbeite und folgerichtig die 32bit Version der dll aufrufe? Ich habe versucht die 64bit-version der dll mit labview 32bit aufzurufen - ohne Erfolg, das erlaubt labview nicht.
Sollte ich versuchen auf dem 64bit windows, das 64bit labview zu installieren um mit der 64bit dll zu arbeiten?

Bin ich völlig auf dem Holzweg?
Hat jemand eine Idee wie ich den Aufruf der dll erfolgreich testen kann?
Werft mir Stichworte zu......

Besten Dank,
Frontanel

   
   


Angehängte Datei(en)
0.0 .pdf  DA0127245_PicoP_Windows_SDK_Getting_Started_Guide.pdf (Größe: 703,81 KB / Downloads: 931)

0.0 .pdf  DC0127564_PDE_Programmers_Guide.pdf (Größe: 682,3 KB / Downloads: 577)

0.0 .zip  sdk_einfach.zip (Größe: 461,46 KB / Downloads: 237)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.01.2014, 16:36
Beitrag #2

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: DLL ansprechen
(30.01.2014 13:34 )Frontpanel schrieb:  Hallo allerseits,

Mein labview-Problem:

Vorliegen habe ich eine SDK, eine DLL für 32bit und eine für 64bit sowie eine Headerdatei und eine in meinen Augen mickrige Dokumentation.

Ich bin so vorgegangen:
Mit dem Labview-eigenen Import-Wizard habe ich die Wrapper-VI's erzeugt, also für jede Funktion der DLL ein spezielles VI.
Calling Convention: C
Thread: Run in UI thread

Das Gerät ist per USB verbunden. Testprogramme des Herstellers funktionieren - die Kommunikation klappt also prinzipiell.
Nur: ich kann mit dem Gerät nicht kommunizieren. Nichteinmal der Aufruf der Bibliothek (get libary info) liefert sinnvolle Werte. ich bekomme keine Fehlermeldung, aber eben auch keine sinvolle Antwort von der DLL.

Könnte es daran liegen, dass ich auf einem 64bit windows 7 system mit 32bit labview arbeite und folgerichtig die 32bit Version der dll aufrufe? Ich habe versucht die 64bit-version der dll mit labview 32bit aufzurufen - ohne Erfolg, das erlaubt labview nicht.
Sollte ich versuchen auf dem 64bit windows, das 64bit labview zu installieren um mit der 64bit dll zu arbeiten?

Bin ich völlig auf dem Holzweg?
Hat jemand eine Idee wie ich den Aufruf der dll erfolgreich testen kann?
Werft mir Stichworte zu......

Besten Dank,
Frontanel

Das Bild sagt leider nicht soviel aus. Es ist aber so dass das PicoHandle ein Pointer ist und man diesen Parameter deshalb besser als Pointer sized Integer konfigurieren würde. Auch ist es gemäss Dokumentation so dass da wohl ein gültiges Handle übergeben werden muss also die PicoP_ALC_OpenLibrary() Funktion erfolgreich aufgerufen haben muss und das dabei empfangene Handle verwendet werden sollte.

Die DLL sollte in der gleichen Bitversion vorliegen wie die LabVIEW Version in der Du arbeitest. Ob das jetzt 32bit oder 64 bit Windows ist spielt erst mal keine Rolle.

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
Antwort schreiben 


Gehe zu: