Howdy All,
I'm developing a Medium-sized application in LabVIEW 7.0 used for instrument control. This application has grown over-time, and currently contains approximately 400 VIs. The basic structure of hte appliation is one main VI that has an instrument status display on the bottom, and a sub-panel on the top, into which all dialogs are loaded for user interaction. Each major task has it's own VI that is loaded into the subpanel as appropriate.
I've read a few stories on the developer exchange about VIs becoming corrupt. I thought these were freak occurences, because by and large, it appears that LabVIEW is fairly stable. However last week I had a VERY scary experience.
I was demonstrating to a collegue the properties of an XY graph control. We changed the colour of one of the plots, then hit cancel. LabVIEW complained of an internal error involving undo.cpp and proceeded to crash. I figured the crash was caused by some strange sequence of events, didn't think much of it, and reloaded my application. After making some changes, I went to the Application Builder to build the application. However the application Builder was complaining about a "missing board" in the DEFAULT build file. I knew immediately that something was VERY wrong. (When I say default build script, I'm referring the default script that is loaded when you press the "Build application or shared library..." button in the tools menu).
(As a side note, does anyone know why the LabVIEW application builder gives such terrible error messages? I always get that "missing board" error when either: one of my support files cannot be found, or one of my dynamic VIs is not executable. Since the error doesn't pinpoint a file, I neeed to go through the files one by one - which is a pain because I have a lot. Another question, why does the application builder ALWAYs ask if you want to save changes to build script, even if you haven't made any changes?)
After loading my build script for the application (which I've used HUNDREDS of times), I got the "missing board" error. I didn't think there was a problem with any of my paths or VIs, but I went throgh each included support file and dynamic VI in the build script to make sure it was there. Though there seemed to be no problems with any of the files, LabVIEW continued to complain.
I figured the problem was specific to the computer I was working on, so I copied the source to another development machine to complete the build. I was VERY scared to find that I got the SAME error on the DEFAULT build script! Also, my actual build script refused to load properly.
This was late at the end of a long day, so I decided to turn of my machines and go home. The next morning, everything worked fine - I was able to build the application, and I haven't had a problem since. (Maybe it was a bad dream, but I have clumps of hair on my desk from the night before...)
I found this experience to be UTTERLY TERRIFYING. Once I had to revert to an archived copy of one of my main VIs, because the current version refused to open, claiming it was corrupt. Since I don't know what's going on behind the scenes in LabVIEW, I'm afraid that tiny internal LabVIEW errors might be adding up. I back-up the source very regularily, since it is such a large project, however I have *real* way of inspecting the integrity of the source.
Does anyone know (A) why this might have happened - especially when the problem reproduced itself on multiple machines (B) has anyone had similar experience with internal LabVIEW errors or corrupt source (C) what sort of internal errors might be piling up that might cause a VI to claim it is "corrupt".
All input is appreciated.
WG