CVI 6.0
Windows XP prof
Celeron 2 GHz (or something like that)
I've developed an application on an Athlon 800 MHz in W2k. The application runs fine there.
However, when transferring the application to the above mentioned computer (which is the computer the application should be run on) I noticed GPF's popping up at very peculiar places.
First I noticed the place where the GPF turns up is a
Messagepanel = LoadPanel....
DisplayPanel(MessagePanel);
function();
DiscardPanel(MessagePanel);
It happened when the panel was loaded and then immediately discarded. (It was a "please wait" panel, however, sometimes the wait time of function() is zero and the function calls the DiscardPanel and returns immediately). Checking whether MessagePanel was >0 before discarding it didn't help either.
I suspect the panel is discarded before it is displayed by the system... ?!
This suspicion is strenthened by the following code.
The application handles batch measurements. Since the entering of parameters for these measurements can be quite boring, I did my best to automate it as much as possible. This means the user can press "enter" all the time until the batch measurement overview pops up.
The below routine has 3 buttons. "OK", "Cancel" and the default selected button "Huh?" This Huh button is to make sure that the user can keep on pressing "enter" without automatically selecting "OK" or "Cancel". As long as "huh" is selected the message pops up again.
do Status = GenericMessagePopup ("Confirm Batch Measurement",
DisplayMessage, "OK", "Cancel", "Huh?", 0, 0, 0, VAL_GENERIC_POPUP_BTN3, VAL_GENERIC_POPUP_NO_CTRL, VAL_GENERIC_POPUP_BTN2);
while (Status == VAL_GENERIC_POPUP_BTN3);
However, when keeping the "enter" button pressed during this loop (which means the message pops up continuously at very high speed) the GPF happens too at some point, and not always the same point... sometimes it takes 3 seconds of flashing popups before the GPF happens, sometimes 20 seconds.
It happens in debug mode and in release mode, but on the W2k developing system everything works fine.
Is this a bug in CVI, or XP, or both?