(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.