Compartir a través de


AMEMBERS( ) (Función)

Incluye los nombres de propiedades, procedimientos y objetos miembros para un objeto en una matriz de variables.

AMEMBERS(ArrayName, ObjectName | cClassName [, nArrayContentsID] [, cFlags])

Valores devueltos

Numeric

Parámetros

  • ArrayName
    Especifica la matriz en que están situados los nombres de las propiedades miembro para oObjectName. Si especifica el nombre de una matriz inexistente, la matriz se crea automáticamente. Si la matriz no es suficientemente grande para contener todos los nombres, Visual FoxPro aumentará automáticamente su tamaño.

  • ObjectName
    Especifica el objeto cuyas propiedades miembro están incluidas en la matriz de variables especificada con ArrayName. oObjectName puede ser cualquier expresión que dé como resultado un objeto, por ejemplo una referencia de objeto, una variable de objeto o un elemento de matriz de objeto.

  • cClassName
    Especifica la clase de Visual FoxPro cuyas propiedades de miembro se colocan en la matriz de variables especificada en ArrayName.

  • nArrayContentsID 1 | 2 | 3
    1 especifica que la matriz contiene los nombres de las propiedades del objeto o la clase, así como los métodos y objetos miembros. La matriz resultante es de dos dimensiones y la segunda columna especifica el tipo de miembro enumerado en la primera columna. Los valores posibles para la segunda columna son Property, Event, Method u Object.

    2 especifica que la matriz contiene los nombres de los objetos miembros de un objeto nativo de Visual FoxPro especificado con oObjectName. La matriz resultante es de una dimensión.

    Esta opción proporciona un método para determinar los nombres de los objetos incluidos en un contenedor, tales como todos los objetos Form de un conjunto de formularios o los controles de un formulario.

    3 especifica que la matriz contiene información acerca de uno o más objetos. Puede pasar una referencia de objeto a un objeto nativo de Visual FoxPro o a un objeto COM.

    La matriz que se devuelve al especificar este parámetro consta de cuatro columnas, como se describe en la tabla siguiente:

    Columna Descripción
    1 Nombre del evento o método
    2 Tipo de propiedad (por ejemplo, PROPERTYPUT, PROPERTYGET, PROPERTYPUTREF, METHOD)
    3 Firma de la función (parámetros y sus tipos, y el tipo devuelto por la función). Esta información es similar al texto de Información rápida que se proporciona en la expansión IntelliSense de un método.
    4 Cadena de ayuda

    Si se omite nArrayContentsID, AMEMBERS( ) devuelve una matriz de propiedades de una columna.

  • cFlags
    Especifica el filtrado que se aplica a la matriz devuelta por la función AMEMBERS( ). cFlags no funcionará cuando se pase a AMEMBERS( ) un objeto COM (el valor de ArrayContentsID es 3). Algunos indicadores son mutuamente exclusivos, así que, si utiliza más de un cFlag, utilícelos agrupados de la siguiente manera:

    [P | H | G] [N | U] [C] [I | B] [R]
    

    Las tablas siguientes describen los valores válidos para cFlags.

    Valor Indicadores de filtro
    P Propiedades, métodos o eventos protegidos
    H Propiedades, métodos o eventos ocultos
    G Propiedades, métodos o eventos públicos
    N Propiedades, métodos o eventos nativos (intrínsecos)
    U Propiedades, métodos o eventos definidos por el usuario (extrínsecos)
    C Propiedades modificadas
    I Propiedades, métodos o eventos heredados
    B Propiedades, métodos o eventos base (mediante el método AddProperty)
    R Propiedades de sólo lectura

La configuración predeterminada para el filtrado, especificada mediante cFlags, es un OR lógico entre indicadores. Puede cambiar esto mediante los cFlags especiales "+".

Valor Indicadores especiales
# Agrega una nueva columna a la matriz de resultados con el valor cFlags correspondiente.
+ Ejecuta un AND lógico entre indicadores de filtro.

Observaciones

AMEMBERS( ) devuelve el número de objetos, propiedades y procedimientos para el objeto, o 0 si no es posible crear la matriz. Si omite los parámetros opcionales 1, 2 y 3, se crea una matriz de una dimensión con las propiedades de oObjectName.

Puede pasar referencias de objetos COM a la función AMEMBERS( ) pero, cuando lo haga así, deberá pasar también un valor de 3 en el tercer parámetro (indicador), como en el ejemplo siguiente.

oExcel = CREATEOBJECT("excel.application")
= AMEMBERS(gaPropArray, oExcel, 3)

Ejemplo

El siguiente ejemplo utiliza CREATEOBJECT( ) para crear un objeto Form denominado goForm1. AMEMBERS( ) se emplea para crear una matriz denominada gaPropArray con las propiedades disponibles para el formulario y, a continuación, se muestran las propiedades.

CLEAR
goForm1 = CREATEOBJECT("Form")  && Creates a Form
= AMEMBERS(gaPropArray, goForm1, 1)  && Array containing Form properties
DISPLAY MEMORY LIKE gaPropArray  && Display the Form properties

Vea también

ADD CLASS | AINSTANCE( ) | CREATE CLASS | CREATE CLASSLIB | CREATEOBJECT( ) | DEFINE CLASS