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:
- In LV 7.1.1, drop a "Dialog Ring" control and a modern/3D Enum control on the front panel
- Customize the ring control (open the control editor for it)
- Open the parts window (Window - Show Parts Window on the menu). This automatically switches to customize mode.
- In the parts window, select the "Ring Background" part.
- Close the parts window
- Hit Shift-Down a few times to move the background out from under the rest of the parts
- Right click on the background and select "Copy to Clipboard"
- Close the control editor - don't save or replace the ring
- Customize the Enum control (open the control editor for it)
- Open the parts window and select the "Frame" part
- Close the parts window
- Hit Shift-Down a few times
- Right click on the frame and select "Import at Same Size"
- Select the frame again, and hit Shift-Up to put it back in place
- Use the colouring tool to change the colour of the "Ring Text" part to be transparent, so that our new frame shows through
- 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 ...