Connection Information

To perform the requested action, WordPress needs to access your web server. Please enter your FTP credentials to proceed. If you do not remember your credentials, you should contact your web host.

Connection Type

Access for instance variables – PB Docs 2019 – PowerBuilder Library

Access for instance variables – PB Docs 2019

Access for instance variables

Description

The general syntax for declaring PowerScript variables (see
Syntax of a variable
declaration
) showed that you can specify access keywords in a
declaration for an instance variable. This section describes those
keywords.

When you specify an access right for a variable, you are
controlling the visibility of the variable or its visibility access.
Access determines which scripts recognize the variable’s name.

For a specified access right, you can control operational access
with modifier keywords. The modifiers specify which scripts can read
the variable’s value and which scripts can change it.

Syntax

The following table describes the parameters you can use to
specify access rights for instance variables.

Parameter

Description

access-right (optional)

A keyword specifying where the variable’s name
will be recognized. Values are:

  • PUBLIC — (Default) Any script in the application
    can refer to the variable. In another object’s script,
    you use dot notation to qualify the variable name and
    identify the object it belongs to.

  • PROTECTED — Scripts for the object for which the
    variable is declared and its descendants can refer to
    the variable.

  • PRIVATE — Scripts for the object for which the
    variable is declared can refer to the variable. You
    cannot refer to the variable in descendants of the
    object.

readaccess (optional)

A keyword restricting the ability of scripts to
read the variable’s value. Values are:

  • PROTECTEDREAD — Only scripts for the object and
    its descendants can read the variable.

  • PRIVATEREAD — Only scripts for the object can
    read the variable.

When access-right is PUBLIC, you can
specify either keyword. When access-right is PROTECTED, you
can specify only PRIVATEREAD. You cannot specify a modifier
for PRIVATE access, because PRIVATE is already fully
restricted.

If readaccess is omitted, any script
can read the variable.

writeaccess (optional)

A keyword restricting the ability of scripts to
change the variable’s value. Values are:

  • PROTECTEDWRITE — Only scripts for the object and
    its descendants can change the variable.

  • PRIVATEWRITE — Only scripts for the object can
    change the variable.

When access-right is PUBLIC, you can
specify either keyword. When access-right is PROTECTED, you
can specify only PRIVATEWRITE. You cannot specify a modifier
for PRIVATE access, because PRIVATE is already fully
restricted.

If writeaccess is omitted, any script
can change the variable.

datatype

A valid datatype. See Syntax of a variable
declaration
.

variablename

A valid identifier. See Syntax of a variable
declaration
.

Usage

Access modifiers give you more control over which objects have
access to a particular object’s variables. A typical use is to declare
a public variable but only allow the owner object to modify it:

You can also group declarations that have the same access by
specifying the access-right keyword as a label (see Another format for
access-right keywords
).

When you look at exported object syntax, you might see the
access modifiers SYSTEMREAD and SYSTEMWRITE. Only PowerBuilder can
access variables with these modifiers. You cannot refer to variables
with these modifiers in your scripts and functions and you cannot use
these modifiers in your own definitions.

Examples

To declare these variables, select Declare>Instance Variables
in the appropriate painter.

These declarations use access keywords to control the scripts
that have access to the variables:

This protected variable can only be changed by scripts of the
owner object; descendants of the owner can read it:

These declarations have public access (the default) but can only
be changed by scripts in the object itself:

This declaration defines an integer that only the owner objects
can write or read but whose name is reserved at the public
level:

Private variable not recognized outside its object

Suppose you have defined a window w_emp with a private integer
variable ii_int:

In a script you declare an instance of the window called
w_myemp. If you refer to the private variable ii_int, you get a
compiler warning that the variable is not defined (because the
variable is private and is not recognized in scripts outside the
window itself):

Public variable with restricted access

Suppose you have defined a window w_emp with a public integer
variable ii_int with write access restricted to private:

If you write the same script as above, the compiler warning will
say that you cannot write to the variable (the name is recognized
because it is public, but write access is not allowed):


Document get from Powerbuilder help
Thank you for watching.
Was this article helpful?
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x