FORM.LOAD()
Syntax
<FORM> as P = FORM.LOAD( Form_Name as C [, Style as C [, Window_Name as C [, Horizontal_Position as N [, Vertical_Position as N ]]]] )
|
Argument |
|
Description |
|
Form_Name |
V5 |
The name of the form to open. In the case where there are duplicate form names in the database, you can qualify the form name with the table name using this syntax: Form Name@Table Name. For example, if a database has a form called Customers for the Current_Customers and the Past_Customers tables, you can specify the form as: Customers@Current_Customers, or Customers@Past_Customers. |
|
Style |
V5 |
Optional. Default = "Dialog". Determines the mode of the form.
If a form is opened using the "Popup" style, the following rules apply:
|
|
Window_Name |
V5 |
Not applicable. |
|
Horizontal_Position |
V5 |
Optional. Default = "center". The horizontal position of the window. Possible values are:
|
| V6 |
"pixel_coordinate" | |
|
Vertical_Position |
V5 |
Optional. Default = "center". The vertical position of the window. Possible values are:
|
| V6 |
"pixel_coordinate" |
Description
The FORM.LOAD() method loads Form_Name into memory and returns an object pointer. The form window is hidden. To display the window, you must use the <FORM>.SHOW() method. Use the FORM.LOAD() method rather than the FORM.VIEW() or FORM.VIEWQUERIED() methods when you want to manipulate objects on the form, or set form properties, before making the form window visible.
Supported By
Alpha Five Version 5 and Above
Limitations
Desktop applications only.
Examples
This script loads the Customer form into memory. It then sets the form's filter and order properties and then shows the form.
|
Form.load("customer") :customer:Tables:customer.filter_expression = "State_prov = 'MA' " :customer:Tables:customer.order_expression = "Company" :customer:Tables:customer.query() :customer.show() :customer.activate() |
This script does the same as the previous script. It uses object pointers rather than the object name.
|
dim frm as P frm = Form.load("customer") frm:Tables:customer.filter_expression = "State_prov = 'MA' " frm:Tables:customer.order_expression = "Company" frm:Tables:customer.query() frm.show() frm.activate() |
This script does the same as the above two scripts, but it uses the FORM.VIEWQUERIED() method (introduced in V5).
|
filter = "State_prov = 'MA'" order = "Company" frm = Form.viewQueried("customer",filter,order) |
Using the Dialog Style to Prepare a Form with Default Values
This technique allows you to prepare the form with default values before showing it to the user.
Note : You must end
with the <FORM>.CLOSE() method or you will eventually run out of
sessions.
|
dim frm as P frm = form.load("DialogForm1","dialog") ' create a new record and set default values frm.New_Record() frm:Lastname.text = "Rabins" frm:Firstname.text = "Selwyn" ' now show the form frm.show() ' the user inputs values into the fields ' the user closes the form, but actually just hides it 'now, really close the form frm.close() |
Using the Dialog Style to Capture User Input
This script shows how to use a form bound to a "dummy" table to capture user input. The form fields are based on local variables. You could achieve the same effect with an Xdialog form.
Note : You must end
with the <FORM>.CLOSE() method or you will eventually run out of
sessions.
|
dim frm as P frm = form.load("DialogForm1", "dialog") ' show the form - script will pause and wait till user 'closes' the form frm.show() ' the user inputs values into the fields ' the user closes the form, but actually just hides it ' you can now read field values if you wish lastname = frm:lastname.text firstname = frm:firstname.txt 'now, really close the form frm.close() |
See Also