Syntax 1: For windows of a known datatype – PB Docs 2017

Syntax 1: For windows of a known datatype

Description

Opens a window object of a known datatype. OpenWithParm displays
the window and makes all its properties and controls available to
scripts. It also stores a parameter in the system’s Message
object.

Applies to

Window objects

Syntax

Argument

Description

windowvar

The name of the window you want to display. You can
specify a window object defined in the Window painter (which is
a window datatype) or a variable of the desired window datatype.
OpenWithParm places a reference to the open window in
windowvar.

parameter

The parameter you want to store in the Message
object when the window is opened. Parameter must have one of
these datatypes:

  • String

  • Numeric

  • PowerObject

parent (child and pop-up windows only)
(optional)

The window you want make the parent of the child or
pop-up window you are opening. If you open a child or pop-up
window and omit parent, PowerBuilder associates the window being
opened with the currently active window.

Return value

Integer. Returns 1 if it succeeds and -1 if an error occurs. If
any argument’s value is null, OpenWithParm returns null.

Usage

The system Message object has three properties for storing data.
Depending on the datatype of the parameter specified for OpenWithParm,
your scripts for the opened window would check one of the following
properties.

Message object property

Argument datatype

Message.DoubleParm

Numeric

Message.PowerObjectParm

PowerObject (PowerBuilder objects, including
user-defined structures)

Message.StringParm

String

In the opened window, it is a good idea to access the value passed
in the Message object immediately because some other script may use the
Message object for another purpose.

Avoiding null object references

When you pass a PowerObject as a parameter, you are passing a
reference to the object. The object must exist when you refer to it
later or you will get a null object reference, which causes an error.
For example, if you pass the name of a control on a window that is
being closed, that control will not exist when a script accesses the
parameter.

Passing several values as a structure

To pass several values, create a user-defined structure to hold
the values and access the PowerObjectParm property of the Message
object in the opened window. The structure is passed by value, not by
reference, so you can access the information even if the original
structure has been destroyed.

See also the usage notes for Open, all of which apply to
OpenWithParm.

Examples

This statement opens an instance of a window named w_employee and
stores the string parameter in Message.StringParm. The script for the
window’s Open event uses the string parameter as the text of a
StaticText control st_empname. The script that opens the window has the
following statement:

The window’s Open event script has the following statement:

The following statements open an instance of a window of the type
w_employee. Since the parameter is a number it is stored in
Message.DoubleParm:

The following statement opens an instance of a child window named
cw_data and makes w_employee the parent. The window w_employee must
already be open. The parameter benefit_plan is a string and is stored in
Message.StringParm:

See also

CloseWithReturn

Open


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