Methods - tab of the PmaObject object
On this tab the designer's methods of this object are defined.
|New||Opens the "Method" configuration window, where new method can be added.|
|Delete||Deletes the marked method|
|Edit||Opens the "Method" configuration window, where the marked method can be edited.|
Further methods can be added to the object on this tab. Correct usage of these methods very simplifies and makes the application more readable
An example of the usage: Imagine the folder PmaFolder
that represents a device (e.g. Boiler). Sometimes it is necessary to detach this Boiler. It can be done so that in another folder there is detailed algorithm how to detach the Boiler but much better is to create the method directly in the "Boiler" object where the algorithm for the outage is placed. Then from the other folder this method is just called.
Any number of methods can be defined on this tab. A definition of just one method can be found on each line of the list (that is on the up left). These methods can be then called by the PmaObject.Methods
|pMe||(Object) Reference to the Pma object, where the method is defined.|
|pResult||[for write only](Variant) Output parameter that is used for method output value.
|pContext||(Object) (for PmaRoot and PmaPanel objects) reference to the object containig additional information about method calling conditions.
property with referrence to the PmUser
object, containing detailed information about the user (local or network), that called the method. It can be used for example:
- for protecting the method for specific logged user or user group.
In order to keep the subobject User
value trustworthy it is necessary to exclude the pseudo-groups $ANY
from the appropriate permission WebRead
(i.e. to ensure that the user is logged in when opening the Web page).
A permission type of client method calling. The designer can (according to the user setting, password or the computer address) disable the operation.
Setting this parameter is recommended only for special cases. Common security setting is better to be done by standard means of the permissions: WebMethods
The property is functional only for Web panels
1 (default) - enabling operation.
-1 - required log-on of the user (if the user hasn't been set) or disabling the user (if the user has been set but the name and password are wrong).
-2 - disabling operation for the client unconditionally.
|Parameters defined by designer||(Variant) It is used as passed parameters when calling the method. These parameters are defined in the "Parameters" configurator.|
The methods defined on this tab for the PmaPanel
object (panel methods) and for the PmaRoot
object (global application methods) can be called even in the scripts of panels that are meant for Web sharing
A list of used methods together with each method launch count can be seen in the INFO system
in specific object view tab. The selected method can also be launched on this tab (only if the method does not include the parameters) after selecting from the local menu (by the right mouse button). See "PmaRoot > Permissions > InfoEdit
In the PmaFolder
object there is the PmaData
object (named "DAT
") that contains several variables (with the names, for example "data1"
, etc.) Let's create simple method in the PmaFolder
object named "dataadd
" with one parameter (named "par1
") that represents a name of the variable. The method returns the value of the requested variable increased by 10.
var val = pMe.Pm("DAT").Item(par1).Value;
return val + 10;
We can call this method anywhere:
var n = oFolder.Methods.dataadd("data1");
Calling the global method GetStartTime
(it means defined in the PmaRoot
object) with the par1
parameter (this way the global method on the server can be called in the Web panel
var val = Pm.Methods.GetStartTime(par1);
: and Events
the "Test" buttons was removed (used for script syntax checking) and also the "Edit" button (for expanding the script editor window to fullscreen). These functions were moved to the local menu in script editor.
: Application global methods
(i.e. the methods defined on the "Methods
" tab of the PmaRoot
object) can no longer (in default mode) be called directly by their name, but are now called by means of the Pm.Methods
property. The reason is the limitation of the direct calling - for example it is not functional for Web panels
. The old way of method calling (i.e. direct calling by method name) can still be used, but to od so, the #pragma option OldGlobalMethodCall
script directive with the value 1 (flag of old method calling) must be used. When transforming current applications into PROMOTIC 8 a conversion will be done: the directive will be added into all global methods making the application fully functional.