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.