LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Inconsistent handling of refnums

The control refnum reported by a front panel created reference node is not the same as the refnum listed in the FrontPanel.Controls[] array. The enclosed example demonstrates this problem. The Cluster node's refnum is 0xA0300002 as reported by the reference node. Meanwhile the Controls[] never lists this refnum but the Cluster's refnum is reported as 0xA0800008. This is the same before and after the 'To more specific class'.
This should not be the case. The refnum to an object should be consistent. If it isn't then kludgy methods like looking at the object's label's text have to utilized to attempt the identification of controls. However, this approach is not a clean solution. If you have several identical clusters, which
is my situation, the names of the labels are the same. While I could name each cluster instance uniquely, this is still a clumsy and slow when utilizing consistent refnums should be available as a more elegant solution.
0 Kudos
Message 1 of 2
(2,494 Views)
Hi,

This is in fact not too inconsistent. It is consistent with e.g. how activex
works. Each request for a reference returns a copy of the object (and thus a
new reference).

It isn't ideal in LabVIEW. I'm still looking for a clean solution too.
Comparing type def, name, label, panel bound, etc does work, but isn't very
nice.

Reagrds,

Wiebe.


"arlans" wrote in message
news:50650000000800000049DE0000-1079395200000@exchange.ni.com...
> The control refnum reported by a front panel created reference node is
> not the same as the refnum listed in the FrontPanel.Controls[] array.
> The enclosed example demonstrates this problem. The Cluster node's
> refnum is 0xA0300002 as reported by the reference node. Meanwhile the
> Controls[] never lists this r
efnum but the Cluster's refnum is
> reported as 0xA0800008. This is the same before and after the 'To
> more specific class'.
> This should not be the case. The refnum to an object should be
> consistent. If it isn't then kludgy methods like looking at the
> object's label's text have to utilized to attempt the identification
> of controls. However, this approach is not a clean solution. If you
> have several identical clusters, which is my situation, the names of
> the labels are the same. While I could name each cluster instance
> uniquely, this is still a clumsy and slow when utilizing consistent
> refnums should be available as a more elegant solution.
0 Kudos
Message 2 of 2
(2,494 Views)