LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Yet another 8.2 bug: Error 1131 in LV 8.2 which wasn't there in LV 7.1

This bug makes LV 8.2 not backwards compatible (for us at least):
 
It appears that - in certain circumstances - the "Digital Display.Text Colors:BG Color" property of an enum control gets changed from read/write to read only when opening a 7.1.1 VI in 8.2.
 
The attached VI, which was saved in 7.1.1, runs without error in 7.1.1 but returns an error in 8.2 (Error 1131: "You cannot use this property with this system control.").
 
The enum on the front panel was created as follows:
  1. In LV 7.1.1, drop a "Dialog Ring" control and a modern/3D Enum control on the front panel
  2. Customize the ring control (open the control editor for it)
  3. Open the parts window (Window - Show Parts Window on the menu).  This automatically switches to customize mode.
  4. In the parts window, select the "Ring Background" part.
  5. Close the parts window
  6. Hit Shift-Down a few times to move the background out from under the rest of the parts
  7. Right click on the background and select "Copy to Clipboard"
  8. Close the control editor - don't save or replace the ring
  9. Customize the Enum control (open the control editor for it)
  10. Open the parts window and select the "Frame" part
  11. Close the parts window
  12. Hit Shift-Down a few times
  13. Right click on the frame and select "Import at Same Size"
  14. Select the frame again, and hit Shift-Up to put it back in place
  15. Use the colouring tool to change the colour of the "Ring Text" part to be transparent, so that our new frame shows through
  16. Close the control editor - don't save, but do replace the enum

All of this was done to create what looks like a "Dialog Enum" in LV 7.1.1 since the "System Enum" wasn't added until LV 8.

This is rather infuriating.  We use this property (Digital display text background colour) to change the overall background colour of an enum like this (we resize the digital display to fit under the whole control), since the "ring text" part has to carry over the drop-down arrow image in order for mouse clicks to be caught here, and therefore just changing the "ring text" background colour from transparent will hide the arrow.

The really annoying thing is that there is no reason for this property to be read only - it is not a "system control" as the error description from the general error handler states - it's simply a customized 3D control.  The other crazy thing is that if I recreate the enum from scratch, using the identical procedure, in LV 8.2, the error does not occur - apparently the translation done when opening a LV 7.1.1 VI in LV 8.2 is not correct.

Trying hard to see the benefits of upgrading ...

Jaegen

Message 1 of 7
(5,098 Views)
EDIT [Get ready for this one kids]: In LV 8.0.1, the VI returns an error as well, but a different one - the property node fails at arg 1 instead of arg 2 (i.e. in 8.0.1, both BG colour and Text colour become read-only - in 8.2, only BG colour is read only).  Yikes.
Message 2 of 7
(5,086 Views)
Jaegen,

I hope you're doing well.  I appreciate you reporting this behavior to us.  I was able to quickly verify that your attached VI runs without error in 7.1 and 7.1.1 but not in 8.20, but I will want investigate this further to see what might be going on at a lower level.  I will see if there's a work-around for you, and if necessary, we can work with R&D on this as well.  I will keep you updated with what I find, but let me know if you do fashion any kind of work-around on your own in the meantime as well.  Have a great day, Jaegen!

Thaison V
Applications Engineer
National Instruments

Message 3 of 7
(5,010 Views)
Hello,
 
The only work-around I've found is to recreate the enum from scratch in LV8.2 - as I mentioned, it appears the problem is just with opening a LV 7.1.1 file in LV 8.2.  If you can suggest a faster way, that would be helpful (i.e. something easy to do to the existing enum, rather than having to create it from scratch).  We have a number of these controls in use.
 
Jaegen
Message 4 of 7
(4,995 Views)

I just saw that in LV8.2 using a custom numeric control created in LV8.2 😞

-sigh-

I thought I was going insane, since just using a regular numeric control works fine..

-sigh-

Thank Jaegen for posting this thread... 🙂



Message Edited by JoeLabView on 11-28-2007 07:15 PM
0 Kudos
Message 5 of 7
(4,530 Views)
An idea for how to work around this.
 
1.  Open the VI in 7.1.1 and replace the customized enum with a standard enum.  Get rid of the property nodes where the colors are set (since it sounds like you don't need this functionality in 8.2 since you have the system enum available.  This seems to maintain the item list in the enum so it doesn't have to be recreated.
2.  Open the VI in 8.2.  Replace the standard enum with the system enum.  Which seems like it also would maintain the list.
 
It seems like doing this gives you the system enum you want (but wasn't available in 7.1.1) and lets you maintain the item list without having to recreat the entire control from scratch.
0 Kudos
Message 6 of 7
(4,515 Views)

Thanks Ravens,

Actually, here is an interesting twist to the info..  I discovered that the custom control (template) was actually created in LV8.5, using classic controls.  Then saved as LV8.2.

My workaround was simple.  Replaced it with "Modern Numeric Controls".  🙂

 

0 Kudos
Message 7 of 7
(4,502 Views)