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 

SNAPI DLL einbinden. Scanner MS4407



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!

07.06.2010, 15:08 (Dieser Beitrag wurde zuletzt bearbeitet: 08.06.2010 07:35 von rolfk.)
Beitrag #4

rolfk Offline
LVF-Guru
*****


Beiträge: 2.317
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
SNAPI DLL einbinden. Scanner MS4407
Also das Einfachste, wenn man Langzeitunterhalt in LabVIEW und Upgradeability auf neue Treiber-DLLs im Besonderen und Windows Versionen im Allgemeinen und all das mitberücksichtigt, wäre halt schon um eine Wrapper DLL zu machen und dann zumindest aus meiner Sicht in C (Visual C).

Es gibt hier aber einige Möglichkeiten um das mit etwas Gebastel zu umgehen. Zuerst mal wird ein LabVIEW Stringbuffer normalerweise angehalten solange ein Wire irgendwo im Diagram ist, auch wenn dieser Wire effektiv nicht (mehr) verwendet wird, etwa weil er einfach "nur" an ein Sequenzborder geführt ist.

Die Idee wäre also um den Stringwire aus dem Set Decode Buffer wieterzuführen (bis nach dem Disconnect VI um sicherzugehen dass der Buffer garantiert alloziert ist) . Das Ganze ist aber nicht ganz trivial da man jegliche Verzweigung dieses Wires vermeiden muss, da sonst LabVIEW Kopien anlegt und der ursprüngliche Buffer plötzlich nicht mehr gültig sein könnte (und die DLL ins Leere schreibt). Und in Zukunft könnte LabVIEW so schlau werden um auch über Struktur Grenzen zu optimalisieren so dass es erkennt dass der Wire nicht mehr benötigt wird und dann ginge diese Lösung so oder so in die Hose.

Das grössere Problem ist meiner Meinung nach, dass dieses API eigentlich erwartet dass die Applikation eine Windows Message empfangen kann, wo dann der String geliefert wird, sobald der Scan erfolgreich war. Das basiert auf Erfahrungen die ich in anderen Fora gelesen habe, selber habe ich diese Scanner noch nie benützt. Es erscheint mir fraglich, dass man mit erneutem Aufrufen des Set Decode Buffer VIs diesen String auch abfragen kann, aber ich habe mich nicht in die API Dokumentation eingelesen. Wenn es denn Windows Messages erfordert, dann müsste man mit dem auf der NI Site auffindbaren Windows_Message_Queue Example versuchen.

Wenn das alles soweit geklärt ist wäre noch eine andere Methode für die Buffer Allocation für Set Decode Buffer zu evaluieren. Aber bevor nicht sichergestellt ist dass Du den String überhaupt lesen kannst (mit oder ohne Windows Message Queue) hat das wenig Sinn.

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 


Nachrichten in diesem Thema
SNAPI DLL einbinden. Scanner MS4407 - rolfk - 07.06.2010 15:08

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  SNAPI DLL zur Bildaufnahme nutzen. Motorola DS3508 Rizek 6 9.372 23.06.2014 19:54
Letzter Beitrag: rolfk
  LabVIEW treiber für 2D Scanner johnny walker 13 16.291 20.09.2012 08:26
Letzter Beitrag: Lime

Gehe zu: