I just learned how to use property nodes and refnums to modify the values of individual controls inside of a type-defined cluster. But when I incorporate this into an existing and working VI, a weird thing happens: the VI works exactly as it should when it is running, but when I quit the VI, the VI freezes Labview, i.e. Labview will not respond to anything besides a force quit. Sometimes the freeze is temporary and Labview regains responsiveness; other times i have to force quit.
when i use the debugger, it shows that all code has finished executing before the freeze. This VI uses serial commands, but all connections are closed correctly. an important detail may be that on my panel I have a cluster ("A") of type-def'd clusters ("B"). So I'm using a property node of the top-level cluster A to get the refnums of the clusters B1 and B2 inside, then I use the "to more specific class" function to specify the type of those clusters B1 and B2. I then feed one of those refnums into a property node and set/get the values for specific controls inside either clusters B1 or B2. If this is more complex than it has to be, please let me know. Some of the Labview documentation seems to imply that what I am doing with modifying nested cluster controls is not the greatest idea, but i don't know if that's why my VI freezes. Like I said, I'm just learning this aspect of LabView,so I don't know if I'm supposed to take into account things like closing off references, memory leaks, or garbage collection (my formal programming training consisted of C and Java). I would appreciate any insight you may have. Thanks.