LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Auto Update X Control Instances

My LV version is 8.6.1 Developer

 

Are there any XControl experts out there?  Every time you make changes to the Xcontrol GUI but previously had utilized that XControl instances in 100 different VIs, is there a way to automatically force LV to update all those 100 VIs along with its GUI dimension?  Right now, I have to manually open all those 100 files then delete the old instances, drag and drop to create a new instance ....this is really annoying!

0 Kudos
Message 1 of 5
(2,819 Views)

I don't think you need an XControl expert on this one. As far as replications, XControls should behave just like every other control. If you want to make a change to the control and have it be replicated to previous instances, make a typedef or a strict typedef out of it. Otherwise, you'll have to go back and edit old instances of your controls manually...

Misha
0 Kudos
Message 2 of 5
(2,805 Views)

 


@mishkin wrote:

I don't think you need an XControl expert on this one. As far as replications, XControls should behave just like every other control. If you want to make a change to the control and have it be replicated to previous instances, make a typedef or a strict typedef out of it. Otherwise, you'll have to go back and edit old instances of your controls manually...


 

No, I don't think we're on the same page here buddy.  You're thinking of the normal standard control but my question was xcontrol specific.  With a normal control with strict type def enabled, all your future instances will reflect all the changes.  Xcontrol doesn't have it.  What it does have, however, is when moving from xcontrol child data to child facade file using strict type def.  That's the best you will get out of using strict type def.  However, once you created an instance of that xcontrol, it becomes finalized.  If you try to right click on the new xcontrol instance, try to locate the feature "disconnect from type def" ...you won't see it.  It doesn't exist.  Whereas with a normal control instance, you will see it. 

 

Another interesing point too even when using a normal control, after you created a new instance but accidentally disconnect it from type def, good luck.  There is no way to reconnect them.  I thought NI should look into fixing all these quirky issues especially with all the other issues associating with xcontrol.

0 Kudos
Message 3 of 5
(2,789 Views)

I forgot to mention my problem with GUI not updating properly was due to the fact that I originally have forgotten to allow user to resize their instances 6 months ago.  And now, I already have created a myraid of instances.  Genius me so I have delete and redo all the instances.  We shouldn't be doing that, there should be an option to relink old instances to the updated xcontrol object.

0 Kudos
Message 4 of 5
(2,787 Views)

What I was saying is when you put down an XControl on your front panel, it acts just like any other type of a control. If you want to create a new type definition out of it, you can do that (right-click > advanced > customize > type def). Now you have a type defined XControl. If you happen to modify this XControl in the future (I am referring to the .ctl file), all the older instances should update as well.

 

I am guessing that the functional changes to the XControl will be propagated as well, because when I made a change to the facade VI of my XControl, my already built type definition (.ctl file) reflected those changes.

 

Also, thank you for posting the solution to the GUI resizing issue, I think that could help someone out down the road.

Misha
0 Kudos
Message 5 of 5
(2,774 Views)