Share via


PARAMETERS (Comando)

Asigna los datos transferidos de un programa que llama a variables privadas o matrices.

PARAMETERS Parameter1 [AS type [OF ClassLib]] [, Parameter2 [AS type [OF ClassLib]]]

Parámetros

  • ParameterList
    Especifica los nombres de variable o de matriz a los que se han asignado los datos.

    Los parámetros de ParameterList están separados por comas. Debe haber como mínimo tantos parámetros en la instrucción PARAMETERS como en la instrucción DO ... WITH. Si se enumeran más variables o matrices en la instrucción PARAMETERS de los que se pasan con DO ... WITH, el resto de variables y matrices se inicializarán en falso (.F.). Puede pasar 27 parámetros como máximo.

    PARAMETERS( ) devuelve el número de parámetros que se pasaron a la rutina ejecutada más recientemente.

  • AS type
    Especifica el tipo de datos que utiliza esta variable.

  • OF ClassLib
    Especifica la biblioteca de clases que contiene la descripción del tipo en la que se basa el elemento type de esta variable.

Observaciones

Los distintos elementos de ParameterList se separan con comas. Cuando se utiliza PARAMETERS con DO ... WITH, debe ser la primera instrucción ejecutable del programa, procedimiento o función definida por el usuario que se llama.

De forma predeterminada, DO ... WITH pasa las variables y matrices a los procedimientos por referencia. Cuando cambia un valor en el procedimiento al que se llama, el nuevo valor vuelve a pasarse a la variable o la matriz asociada en el programa que llama. Si desea pasar una variable o matriz a un procedimiento por valor, encierre la variable o matriz entre paréntesis en la lista de parámetros de DO ... WITH. Los cambios realizados en el parámetro del procedimiento llamado no se pasarán de vuelta al programa que llama.

De forma predeterminada, las variables se pasan por referencia a un procedimiento y por valor a una función definida por el usuario. Utilice SET UDFPARMS TO REFERENCE para pasar variables a una función definida por el usuario por referencia.

La información de tipo requerida por el analizador de CodeSense en IntelliSense sólo estará disponible cuando cree referencias a objetos y variables con información de tipo con la cláusula AS opcional.

Ejemplo

El ejemplo siguiente transfiere parámetros a una rutina de control de errores.

ON ERROR DO errhand WITH ERROR( ), MESSAGE( ), ;
   MESSAGE(1),PROGRAM( ),LINENO( )
USE nodatabase
ON ERROR         && restores system error-handling routine

PROCEDURE errhand
PARAMETERS gnError, gcMess, gnMess1, gcProg, gnLineNo
? 'Error number: ' + LTRIM(STR(gnError))
? 'Error message: ' + gcMess
? 'Line of code with error: ' + gnMess1
? 'Line number of error: '+ LTRIM(STR(gnLineNo))
? 'Program with error: ' + gcProg

Vea también

PCOUNT( ) (Función) | DO | LOCAL | LPARAMETERS | PARAMETERS( ) (Función) | PRIVATE | PUBLIC | SET UDFPARMS