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.

Reply via email to