Address - how to address objects and variable parameters
OverviewSome components in your project may use information from other components in the project, for example the value of a certain variable parameter ("Variable Parameters"), or by referring to an entire object. This is supported by the Polybench addressing system, where formatted address texts can be constructed that point to a variable or an object.
DetailsAn address is a text string that always starts with a $ sign and most often also ends with a $ sign. It generally looks like this:
$[component locator].[parameter name in the component]$
where [component locator] is the component name (this is commonly called Caption, see also "Caption property - background and usage"), with optionally specified the page on which the component resides, separated with a dot:
[component locator] = page name.component caption
You do not have to specify the page in the address per se! If you omit the page name, then all objects with the same name on any page will be addressed. If you address a specific Variable Parameter, then you always have to specify the object caption before it. For example:
$Design Page.Constant1.Value$ is correct.
$Design Page.Constant1.Value is valid in many cases.
$Constant1.Value$ is also correct.
$Value$ is also correct, but does not refer to the Value parameter of a constant! In this case, $Value$ is a user defined global variable (see also "Free Global and Namespace Variables").
Although addresses without closing $ sign can be correct, global variables are always written with a $ sign at the end, for example:
$Important value to remember$
Note that addresses may contain spaces!
On many places it is allowed to mix fixed text and variables. In that case the variable must be written in between two $ signs, like so:
The delay is $Design.Delay.DelayInTime$ seconds
My name is $computerusername$ and I remember $Important value to remember$
If you need the $ sign to be displayed or to be contained inside a variable, then use a double-$ sign, like this:
It will cost you €$Euro Price$ in Germany, or $$$Dollar Prize$ in the US
This address is displayed as address: $$MyVariable1$$
On most places where you can enter an address, the "Address Constructor" is offered as a tool, so that it is easy to construct an address.
Alternatively you may copy the address of a Function or a Variable Parameter from the "Functions Viewer" or the "Variable Parameter Viewer" of the object that you want to refer to.