PV ON COMMAND
version 6.8
PV ON COMMAND (area; command; method)
Parameter | Type | Description | |
area | Longint | 4D View area | |
command | Longint | Command number | |
method | String | 4D method name |
Description
The PV ON COMMAND command links the 4D View menu command to a 4D method.
The PV Commands constants are used to define the command parameters.
The method receives 3 parameters:
$1: The 4D View area reference
$2: The menu command number
$3: The modifier key
To uninstall the on command method call, simply call the PV ON COMMAND command with an empty string in the third parameter.
Example
Take, for example, a database where all print jobs calling an included 4D View area must be traced. The proposed solution is written in several lines:
If (PV Get on command method (area;pv cmd file print document)#"PrintMethod")
`Record print formula trace
PV ON COMMAND (area;pv cmd file print document;"PrintMethod")
End if
If (PV Get on command method (area;pv cmd file print formulas)#"PrintMethod")
`Record standard print trace
PV ON COMMAND (area;pv cmd file print formulas;"PrintMethod")
End if
The code for method PrintMethod is as follows:
`Method: PrintMethod.
C_LONGINT($1) `4D View area reference
C_LONGINT($2) `Menu command number
C_LONGINT($3) `Modification key code
Case of
: ($2=pv cmd file print formulas)
CREATE RECORD([PrintSpy]) `New record
[PrintSpy]CurUser:=Current user `Who requests print job?
[PrintSpy]Dte:=Current date (*) `Date of print
[PrintSpy]Tme:= Current time `Time of print
[PrintSpy]Subject:=Print area formulas
SAVE RECORD([PrintSpy]) `Don't forget to validate creation
: ($2=pv cmd file print document) `Is this a print request?
CREATE RECORD([PrintSpy]) `New record
[PrintSpy]CurUser:=Current user `Who requests print job?
[PrintSpy]Dte:=Current date (*) `Date of print
[PrintSpy]Tme:= Current time `Time of print
[PrintSpy]Subject:="Standard area print"
SAVE RECORD([PrintSpy]) `Don't forget to validate creation
Else
TRACE `Other cases?
End case
See Also
Constants
PV Commands theme.