(15.05.2014 08:21 )Torsten Schönbach schrieb: Die Antwort ist ganz einfach wenn man sie weis.
Windows 7 legt seine 32bit Treiber unter WOWSys64 und seine 64bit Treiberl unter System32 ab.
Da ich ein LabView 2009 32bit auf einem 64bit Rechner betreibe, hat Labview versucht auf die DLL im System 32 zuzugreifen. Was ein Problem ist.
Das kann so eigentlich nicht stimmen, ausser Du hast den Pfad zu Deiner DLL explizit in der Call Library Node angegeben. Wenn Du dort nur den DLL Namen angibts teilt LabVIEW einfach an Windows mit dass es diese DLL gerne haben möchte und Windows sucht dann automatisch in SysWOW64 wenn der aufrufende Prozess ein 32 Bit Prozess ist.
Zitat:Nach dem ich die dll im system32 temporär gelöscht habe sucht LV nach einer anderen, die sie dann in WOWSys64 findet. und schon geht es.
Es heisst SysWOW64 nicht WOWSys64 und wenn Du den Librarypfad in der Call Library Node so anpasst dass Du nur den DLL Namen eingibst (LabVIEW lässt dann zwar den effektiven Pfad sehen aber speichert intern nur den DLL Namen ab) dann ist das Löschen der 64 Bit DLL nicht nötig. Auch hast Du damit die Garantie dass LabVIEW beim Bauen der Applikation (und des Installers) diese nicht als private Kopie mit in den Applikationbuild nimmt, was wiederum Probleme geben würde wenn Du dann den Herstellertreiber irgendwann mal updatest aber Deine LabVIEW Applikation mit der privaten, alten Kopie weiterarbeitet.