Distinguish OPC UA Properties from Attributes
With Mode.SelectElementType set to UAElementType_Node, QuickOPC hides attributes. A node such as EURange is not an attribute; it is an OPC UA Property node. Because Properties are nodes, selecting node elements can still expose them in the browse results.
BrowseDialog := TUABrowseDialog.Create(nil);
BrowseDialog.Mode.SelectElementType := UAElementType_Node;
BrowseDialog.Mode.MultiSelect := true;
BrowseDialog.ShowDialog(nil);
Set SelectElementType to UAElementType_Attribute only when the dialog must select attributes. That change does not solve Property-node filtering because Properties remain nodes.
Configure Property Filtering
QuickOPC 2017.1 Beta added the IncludeProperties property to UABrowseMode and UADataDialog. Use that property to determine whether Property nodes are included in browse results. The evidence does not specify the Delphi property syntax or default value, so confirm both against the installed QuickOPC documentation.
| Requirement | Supported control | Version condition |
|---|---|---|
| Select nodes instead of attributes | Mode.SelectElementType := UAElementType_Node |
Present in the supplied dialog code |
| Include or exclude Property nodes |
IncludeProperties on UABrowseMode or UADataDialog
|
Added in QuickOPC 2017.1 Beta |
| Select multiple nodes | Mode.MultiSelect := true |
Present in the supplied dialog code |
Avoid Accidental Recursive Selection
The dialog provides different selection actions. The middle button adds the selected node and everything below it recursively. Selecting a tag through that button can therefore add its Property nodes, such as EURange, and can produce a large selection when the branch contains many nodes. The simple down-arrow button selects nodes individually.
- Use the simple down-arrow when users must add one node at a time.
- Avoid the recursive middle button unless the complete subtree is required.
- If the installed version supports
IncludeProperties, configure it to exclude Properties from browse results when the application must hide them.
Verify the Dialog Behavior
First record the exact QuickOPC version because Property filtering was introduced in QuickOPC 2017.1 Beta. Browse to a Variable that exposes a Property such as EURange, then compare the simple down-arrow with the recursive middle button. Verify that individual selection adds only the intended node, recursive selection adds descendants, and the configured IncludeProperties setting produces the required browse results.
FAQ
Why does QuickOPC show EURange when attributes are hidden?
EURange is an OPC UA Property node, not an attribute. UAElementType_Node hides attributes but does not inherently exclude Property nodes.
How do I hide OPC UA Property nodes in UABrowseDialog?
Use the IncludeProperties property provided by UABrowseMode in QuickOPC 2017.1 Beta or later evidence-supported builds. Check the installed documentation for the exact Delphi syntax and default value.
Why does selecting one QuickOPC node add all its Properties?
The middle selection button adds the selected node and its descendants recursively. Use the simple down-arrow to add nodes one at a time.