03-03-2006 01:44 PM
03-03-2006 02:25 PM
07-02-2009 10:25 AM
Thanks! I'll try the SetBOLE and see if it works.
I guess I still have to wonder why the application would shut down (when compiled in 'release' mode) just because the call to the hardware has timed out. I'm a programmer and I *never* count on the hardware to do what I want! I'd already put in code to handle the status message by retrying the command and displaying an error message, but the code couldn't run because the application had already quit. Worse, it was one of those errors that only shows up after the application's been running for 45 minutes or so, so you hate to lose all the other work.
But thanks again for your help.
07-13-2009 08:13 AM
It sounds like your release executable is crashing, and unfortunately in your case, crashing sporadically (i.e. after 45 minutes of normal operation). From what you said, it sounds like the debug build does not crash. The crash may or may not have anything to do with the read timeout. I would advise debugging the problem by putting in some logging code to try to pinpoint the code that causes the crash. Also, if you haven't already, you might try setting the initialized on the "Uninitialized local variables detection" under Options>>Build to Aggressive and recompiling. Sometimes errors that occur in release builds don't show up in the debug builds because of automatic zero-initialization.
Mert A.
National Instruments
07-16-2009 07:37 AM
Hi Brian,
If you do not disable "break on library errors" (BOLE) option, the code will stop in the debugger as if it hits a breakpoint.
However, you do not have to quit if it is not a "fatal run time error". The serial read time-out is a non-fatal error.
When the debugger stops, simply click the green "Go" button.
If you disable BOLE and run in release mode you will not get an error popup for the serial read timeout.
But you have to check the ComRd return value to catch the problem.
Probably your hardware causes a read timeout after that 45 minutes, that's why you only encounter it then.
Hope this helps,