Invoke methods
- Last Updated: October 30, 2020
- 1 minute read
- OpenEdge
- Version 12.2
- Documentation
You can invoke a method within a class that defines or inherits it simply by
naming it and, if it returns as value, by including it in an expression, much as with a
user-defined function, for example, GetItem( ). You can
invoke a PUBLIC method defined in another object (outside the
running class hierarchy) in a similar fashion, except that you must prefix the method name
with a reference to the other object separated by a colon (:), for example, rInventory:GetItem( ). Invoking a
method on (defined in) another object is analogous to invoking a
built-in method on an ABL handle-based object, for example, ERROR-STATUS:GET-MESSAGE( ). To help support OERA-compliant applications, you can
also use the DYNAMIC-INVOKE function, which allows you to
invoke a method whose name is determined at run time. You can also invoke a method from
criteria identified at run time using the Invoke( ) method of
the Progress.Lang.Class class.
For
PACKAGE-PROTECTED or PACKAGE-PRIVATE methods outside of
the hierarchy but within the same package, you must use the
object:method() syntax.
Outside of the class hierarchy where it is defined, you must
invoke a PUBLIC
static method by prefixing the method name with the class type rather
than an object reference. This is also the case for PACKAGE-PROTECTED or PACKAGE-PRIVATE
static method outside of the hierarchy but within the same package. For
more information on static methods, see Use static members of a class.
For more information on invoking methods, see Call class-based methods.