Incorrect value when passing UDT value to template

I hope someone can provide some guidance here! I have occasionally seen this issue in other areas of my project but I think this can be described unambiguously:

I have a UDT with a boolean subtag. The entire UDT is passed to a template in Vision, and this boolean subtag is tied directly to the Visible property of the template. Therefore the template should only be visible when the tag is True.

The problem I’m having is that the value of this tag is clearly not reaching the template reliably. When I run the client I’ll have all of the templates visible on my screen even though the boolean tags are False. If I manually toggle these tags then the template appears/disappears as I would expect.

Can someone please advise how to correct this? Could this have something to do with cached values or something similar? Is there a way to be sure that parameters are properly passed to a template each time?

BTW I did experiment with the system.util.invokeLater function but this yielded the same results.

Thanks!

Sounds like a bug, but I personally would never use a UDT type parameter. I would always pass in the path to the UDT into the template (I split these and pass in the DeviceParentPath and DeviceName, then combine into DeviceTagPath in the template). Then just indirectly bind using the DeviceTagPath

Excellent suggestion - Your advice makes perfect sense. Apart from a possible bug that I’m dealing with, your method just simply sounds like an overall better way of doing things in general. Thank you!

1 Like