03-31-2009 07:24 PM
I am calling a third party dll to drive a USB spectrometer. The aquire call crashes in labview often (almost every time). Oddly enough the built application works great. The dll takes an array of int16 [3648] and an I32 handle and returns data into the array. What is different between a dll call in the development (vista an labview 8.51) and the runtime engine?
03-31-2009 11:44 PM
falkpl wrote:The dll takes an array of int16 [3648] and an I32 handle and returns data into the array. What is different between a dll call in the development (vista an labview 8.51) and the runtime engine?
I too faced same problem with my USB smart card reader quite before. The third party dll developed is different for 32 bit and 64 bit and also for different OS. I had the application working fine XP and when moved to Vista, it crashes. So,
Do check your dll version.
OS Compatibility.
Post screenshots of dll and give description of the function parameters.
Mathan
04-01-2009 11:41 AM
I did manage to fix the crashing. The dll wrapper functions provided were set to run in the UI thread. The acquire function was starving the trhead since it waits (not sleeps) for data and must do this in a polling loop with no dead time. When this function is called in labview development environment all becomes unresponsive and Labview freezes. When allowed to run in a seperate thread the crashing goes away. I think this issue is good for now. Only time and testing will let me know.