Syntax 2 For windows of unknown datatype – PB Docs 126

Syntax 2 For windows of unknown datatype

Description

Opens a window object when you do not know its datatype until
the application is running. 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.

Controls

Window objects

Syntax

Argument

Description

windowvar

A window variable, usually of datatype
window. 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

windowtype

A string whose value is the datatype
of the window you want to open. The datatype of windowtype must
be the same or a descendant of windowvar.

parent
(child
and pop-up windows only)

The window you want to 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 Values

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.

note.png 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.

note.png 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

These statements open a window of the type specified
in the string s_w_name and
store the reference to the window in the variable w_to_open.
The script gets the value of s_w_name,
the type of window to open, from the database. The parameter in e_location is
text, so it is stored in Message.StringParm:

The following statements open a window of the type
specified in the string c_w_name,
store the reference to the window in the variable wc_to_open,
and make w_emp the parent window of wc_to_open.
The parameter is numeric, so it is stored in Message.DoubleParm:

See Also


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