LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

UIR Problem with XP

I recently upgraded to a new computer with windows XP. My old one had windows 2000. I reinstalled Labwindows 7.0 on this machine. Most of my files work. There are certain UIR files that will not open now under the XP enviornment. As soon as they are opened an error comes up with 'A custom control callback raised an exception'. Then another error comes up crashing the CVI, 'Unrecoverable Internal Error at 001B:103E4335. Labwindows/CVI will be aborted.'.
0 Kudos
Message 1 of 10
(5,012 Views)
Nickeli,

Would it be possible for you to attach one of the .UIR files that will not load, in order for us to try to replicate the problem?

Thanks
Luis
0 Kudos
Message 2 of 10
(5,007 Views)
Here is an attached UIR file.
0 Kudos
Message 3 of 10
(4,999 Views)
The reason it's crashing is because the .UIR contains splitter controls. These were introduced in CVI 7.1, which implies that this .UIR was saved with CVI 7.1.

Because NI did not bump the .UIR version format between 7.0 and 7.1, you did not receive a warning telling you that this .UIR was saved with a later version of CVI, and that therefore you might not be able to load it. The version was not changed because, in general .UIRs created in 7.1 can be loaded in 7.0 -- provided that they do not contain new control types, which did not exist in 7.0. Specifically,splitters and digital graphs.

If you do not have access to a copy of CVI 7.1, but you need to be able to load these .UIRs in 7.0, I'll be happy to remove the splitters for you and send the .UIRs back to you. I'm attaching here a copy of this one .UIR that has had its splitters removed.

Luis
0 Kudos
Message 4 of 10
(4,991 Views)
Thank you very much for the prompt response. I think my old machine did have 7.1 on it and that would explain it.
0 Kudos
Message 5 of 10
(4,984 Views)
It seems to me that this is a bit of a timebomb. If the file version number is not changed and new controls exist in 7.1 that 7.0 does not recognize, it is not 100% compatible between versions. I know it is too late to do anything about it now other than to possibly put an article in the knowledge base, but if new control types are added between point releases, it is my opinion the version of the UIR file should also change.
Martin Fredrickson
Test Engineer

Northrop Grumman
Advanced Systems and Products
San Diego, CA 92128
0 Kudos
Message 6 of 10
(4,977 Views)
MJF has a good point.  It would seem that the version information should at least be useful enough that you can get a warning message out before something as ungracefull as an unrecoverable error displays one its cryptic death messages.  Getting a similar messages at a remote customer site is by far one of the more frustrating experiences you can have when supporting a program.  Is this something that should be submitted as a product improvement suggestion?
0 Kudos
Message 7 of 10
(4,960 Views)
Yes, you both make valid points, and we have changed this mechanism in 8.0.

The reason it was originally done that way is because versioning the .UIR was painful to users. In many cases, different developers need to share .UIR files, and they aren't necessarily all using the same version of CVI. So, for example, if someone is using CVI 6.0 and someone else is using CVI 7.0, whenever the 6.0 user tries to open a file saved in 7.0, he or she will be presented with a scary looking dialog (because of the version bump) that basically says "you shouldn't do this, proceed at your own risk". This was understandably a big inconvenience, and so we attempted to keep the .UIR files at the same version whenever possible (such as between 7.0 and 7.1, for example). Since almost every version of CVI introduces new control types, we had to make the decision that we would not take that into account when deciding whether to version the .UIR. We would only consider actual binary changes that needed to be made in between versions, and which affected even existing controls.

With CVI 8.0, we had the need to bump the version again. What we did to mitigate these problems was to allow the 8.0 user to save the .UIR file in 7.1 format instead. When the user does this, any new 8.0 controls that might be in the file are also skipped during the save. So this mechanisms kill two birds with one stone, so to speak.

Therefore, going forward, I see no reason not to bump the .UIR version whenever a new control type is added.

Luis
Message 8 of 10
(4,945 Views)
That sounds like a much better solution Luis.
 
Thanks for sharing that with us.
Martin Fredrickson
Test Engineer

Northrop Grumman
Advanced Systems and Products
San Diego, CA 92128
0 Kudos
Message 9 of 10
(4,941 Views)
I second that.  That should work out much better.  Thanks again for the explanation and the time you spend here.  It is much appreciated.

Message Edited by mvr on 06-02-2006 11:15 AM

0 Kudos
Message 10 of 10
(4,937 Views)