PROGRAM |
Create or Assign Program File |
1. |
PROGRAM filename$[,prog_size][,ERR=stmtref] | |
2. |
PROGRAM "interface_prog" |
Where:
interface_prog |
Name of default program that contains object logic. |
filename$ |
Name of the program file to create. String expression. |
prog_size |
Ignored. Size of a program that can be contained in the file. Numeric expression. |
stmtref |
Program line number or statement label to which to transfer control. |
The PROGRAM directive can be used to create a program file or it can be used in Object Oriented Programming (OOP) to define a default program name intended to service an object.
Create Program File
PROGRAM filename$[,prog_size][,ERR=stmtref]
This format of the PROGRAM directive is used to create a PxPlus program file. The file size is for documentation purposes only and is ignored by the system.
Example:
0010 program "CSTUPD",1024,err=1200
Program files have a special header format indicating that the file contains PxPlus object code. Program files should only be used with the SAVE or LOAD commands. Any attempt to use READ or WRITE directives with this type of file can yield unpredictable results when the program file is subsequently loaded.
If a given filename already exists, PxPlus returns an Error #12: File does not exist (or already exists).
Assign Default Program in Object-Oriented Programming
PROGRAM "interface_prog"
In Object Oriented Programming, the PROGRAM directive is used to define the default program name that is going to service an object. This can be used to override the program that contains the DEF CLASS.
If this clause is specified for an object class:
No error is reported if the label does not exist. In addition, any references to program logic in a property read/write or a method definition can contain a leading ; (semi-colon).
Example:
The following class definitions are effectively the same:
program "Cust"
function Find(X$)"LookupByName"
DEF CLASS Define Object Class
DROP CLASS Delete Class Definition
DROP OBJECT Delete Object
FUNCTION Declare Object Method
LIKE Inherit Properties
LOAD CLASS Pre-Load Class Definition
LOCAL Designation of Local Data
PROPERTY Declare Object Properties
RENAME CLASS Change Name of Class
STATIC Add Local Properties at Runtime
NEW( ) Create New Object
REF( ) Control Reference Count