PROCNAME( )
Devuelve el nombre de procedimiento o función actual o de cualquiera de los anteriores
Sintaxis
PROCNAME([<nActivación>]) –> cNombreProcedimiento
Argumentos
<nActivación> especifica la activación que se va a examinar. Un valor cero indica la activación actual, un valor uno la activación anterior, etc. Si no se especifica, el valor por defecto es cero.
Devuelve
PROCNAME() devuelve como cadena de caracteres el nombre del procedimiento, función o bloque de código actualmente en ejecución.
Descripción
PROCNAME() examina la pila de activación de DPXBASE para determinar el nombre del procedimiento, función o bloque de código en ejecución. La pila de activación es una estructura interna que mantiene un registro de cada invocación de procedimiento, función o bloque de código.
En la activación actual, PROCNAME() devuelve el nombre del procedimiento o función actual. En una activación anterior, PROCNAME() devuelve el nombre del procedimiento o función que, a su vez, ha invocado al procedimiento actual.
Si la activación que se examina es una evaluación de bloque de código, PROCNAME() devuelve el nombre del procedimiento o función que definió el bloque precedido por una (b). Si la activación que se examina es una variable de memoria, PROCNAME() devuelve el nombre precedido de M->.
PROCNAME() se utiliza con PROCLINE() para generar información de depuración.
Ejemplos
¦ Este ejemplo es una función definida por el usuario que puede invocarse durante una fase de depuración del programa para mostrar en pantalla la pila de activación con los números de línea:
FUNCTION ListaPila( cMensaje )
LOCAL nActivacion := 1
? cMensaje
DO WHILE !(PROCNAME(nActivacion) == “”)
? “Llamada desde:”, PROCNAME(nActivacion),;
“(” + LTRIM(STR(PROCLINE(nActivacion))) + “)”
nActivacion++
ENDDO
QUIT
RETURN NIL
Ficheros: La biblioteca asociada es DPXBASE.CH.