05-06-2015 09:07 AM
Hey folks,
I have a system that is getting its embedded computer upgraded to something much faster and I'm dealing with an issue mentioned in the title- The shortcut to the exe I built sits in the startup windows folder... but it seems it's up and running so fast at bootup that none of the NI services/runtime is in place to support it, so I get errors up the wazoo.
I temporarily fixed this issue by removing the shortcut and putting a batch file in place with a timeout of about a minute (after which it calls my exe), but I'd like to incorporate something into the exe to sit and wait for necessary resources to become available.
Is there a standard/accepted way to do this? (I have a hardcoded self test daqmx vi right now but I dont really like this idea for a number of reasons)
Thanks for any idea/links!
-Pat
05-06-2015 11:38 AM
Do you know which services particularly you are dependent on? LabVIEW loads the runtime with your application so it's not that...something like shared variables would time out or return an error if the service wasn't available - if that's the case then good error handling is your friend (notify the user that the system is offline/errored and periodically retry until it comes up).
Also, a lot of windows services are up and running before you've even logged on - perhaps you could change the startup type of the service?
05-06-2015 11:49 AM
Unfortunetly I don't know exactly what I'm dependent on, and somewhere in my app I must have bad error handling (whether my own fault or someone elses haha) because theres no indication of whats not functional, the UI just doesnt load info properly and controls are not working with the system. If I close it and restart it, it then works...
The app utilizes VISA and DAQmx, so theyre kind of suspect for me at this point...
thanks for your response!
-pat
05-07-2015 04:25 AM
Yeah, I think you should add some error reporting/logging to identify which parts of your software are not working correctly and then see how you can detect/correct it in your application so that those parts of your application can reinitialise etc.