New( ) method
Instantiates a class when class name and any parameters are only known at run time. This method returns a Progress.Lang.Object, which provides an instance of a class. The New( ) method provides similar functionality to the DYNAMIC-NEW function. The advantage to the latter is that it has a fixed, compile-time parameter list and does not require the creation of a Progress.Lang.ParameterList object at run time.
Return type: Progress.Lang.Object class
Access: PUBLIC
Applies to: Progress.Lang.Class class
Two overloaded versions are supported. The first version is used when the constructor of the class does not take any arguments.
You can use the second overloaded version of the New( ) method when the constructor of a class takes zero or more parameters. Since a
parameterlist-object
can be built with zero or more parameters, this version of the New( ) method can be used to instantiate any class, even those classes whose constructor does not take any arguments.
parameterlist-object
An instance of the Progress.Lang.ParameterList class. The instance contains an entry for each parameter required by the constructor being invoked. It is valid to pass a Progress.Lang.ParameterList object with zero parameters if the class constructor does not take any parameters. If one or more parameters are passed, the Progress.Lang.ParameterList:SetParameter( ) method must have been previously called on each parameter.The AVM raises a run-time error if the Unknown value (?
) is passed forparameterlist-object
.The New( ) method allows for I/O blocking.
Notes: Since theNew( )
method returns an instance of theProgress.Lang.Object
class, the result of theNew( )
method must be assigned to aProgress.Lang.Object
object .
The New( ) method must be coded as a standalone statement and not part of an ASSIGN statementSee also: Clear( ) method (Class), DYNAMIC-INVOKE function, DYNAMIC-NEW statement, Invoke( ) method (Class), NEW function (classes), NEW statement, NumParameters property, Progress.Lang.ParameterList class, SetParameter( ) method (Class)
OpenEdge Release 10.2B
|