pTAL Reference Manual (H06.03+)
Procedures, Subprocedures, and Procedure
Pointers
HP pTAL Reference Manual—523746-005
14-35
Dynamically Selected Procedure Calls
Dynamically Selected Procedure Calls
You can use a PROCPTR to dynamically select a procedure to call.
Although you cannot create an array of PROCPTRs, you can create a structure that
includes a PROCPTR field. You can choose dynamically which PROCPTR in the
structure array to call.
Example 14-19. Dynamically Selected Procedure Call
LITERAL dev_6530, dev_3270, dev_dove;
INT device_type;
INT param1, param2;
PROC device_6530(i, j);
INT i, j;
EXTERNAL;
PROC device_3270(i, j);
INT i, j;
EXTERNAL;
PROC device_dove(i, j);
INT i, j;
EXTERNAL;
PROCPTR p(i, j);
INT i, j;
END PROCPTR;
CASE device_type of
BEGIN
dev_6530 -> @p := @device_6530;
dev_3270 -> @p := @device_3270;
dev_dove -> @p := @device_dove;
END;
CALL p(param1, param2);










