12-15-2008 03:25 PM
This applies to LabVIEW 7.5 and the associated Run-Time engine.
I have a simple program that takes a monochrome bitmap converts it to a binary array allows the user to edit a subset of the array. At the end the user chooses either to save the bitmap to a new name or exit.
The program runs fine on the development machine as both a VI and an executable. On my laptop and several other desctop machines it runs fine as an executable. However, on the machine of the customer that I built this for the save file dialogue box continuously reappears if he chooses to save the file. If he tries to save or cancels or clicks anywhere in the dialogue box, the box disappears for a second and then reappears. The only way to get out of the program is to kill it in Task Manager.
Any thoughts?
Thanks
12-15-2008 03:39 PM - edited 12-15-2008 03:41 PM
There is no LabVIEW 7.5.
Most likely you have a race condition, for example caused by local variables and broken dataflow or similar. (For example if you reset the button that triggers the file dialog via a local varaible and things happen in different orders on different machines (e.g. single core vs multicore, etc.)). Try to use latch action buttons instead.
Can you show us some of the relevant code?
12-15-2008 05:02 PM - edited 12-15-2008 05:05 PM
Sorry I meant 7.1 not 7.5 (used to thinking about 8.5).
I have an identical laptop to the clients machine and it works fine on it (just tried it). This is a sequence that happens after all other operations have completed. See the image below:
All other processing is finished when a "true" comes in on the wire on the far left from a while loop. I do not see anything here that could create a race condition unless it is inside NI's own "Write BMP File" VI. [Note: The "False" case is empty]
Thanks.
12-15-2008 05:14 PM
12-17-2008 05:16 PM
DOH - The button says insert image not insert a link to image.
I have since solved the problem. It was a timing issue that varied between machines. Forced timing with a sequence and cured the problem.