Compartir a través de


AINSTANCE( ) (Función)

Coloca todas las instancias de una clase en una matriz de variables y devuelve el número de instancias colocadas en la matriz.

AINSTANCE(ArrayName, cClassName)

Valores devueltos

Numeric

Parámetros

  • ArrayName
    Especifica el nombre de la matriz en que se sitúan las instancias. Si la matriz que especifica no existe, Visual FoxPro la creará automáticamente. Si existe y no es suficientemente grande para dar cabida a todas las instancias, Visual FoxPro aumentará automáticamente su tamaño. Si la matriz es mayor de lo necesario, Visual FoxPro reducirá su tamaño. Si existe y AINSTANCE( ) devuelve 0 porque no encuentra ningún nombre, permanecerá sin cambios. Si la matriz no existe y AINSTANCE( ) devuelve 0, la matriz no se creará.

    Solamente se incluyen en la matriz las instancias de clase asignadas a variables y elementos de matriz con CREATEOBJECT( ) o NEWOBJECT( ).

  • cClassName
    Especifica un nombre de clase de base de Visual FoxPro o un nombre de clase definida por el usuario. La tabla siguiente indica las clases de base de Visual FoxPro que se pueden especificar para cClassName:

    Nombres de clase de base  
    ActiveDoc Etiqueta
    CheckBox Line
    Columna ListBox
    ComboBox OLEControl
    CommandButton OLEBoundControl
    CommandGroup OptionButton
    Contenedor OptionGroup
    Control Página
    Cursor PageFrame
    Custom ProjectHook
    DataEnvironment Relation
    EditBox Separator
    Formulario Session
    FormSet Shape
    Cuadrícula Spinner
    Header TextBox
    Hyperlink Timer
    Imagen ToolBar

Ejemplo

En el ejemplo siguiente, CREATEOBJECT( ) se utiliza para crear dos instancias de la clase de base Form de Visual FoxPro. AINSTANCE( ) se utiliza para crear una matriz denominada gaMyArray que contiene las referencias a variables (goINSTANCE1 y goINSTANCE2) para cada instancia de formulario. A continuación, se muestra el contenido de la matriz.

CLEAR ALL
goINSTANCE1 = CREATEOBJECT('Form')
goINSTANCE2 = CREATEOBJECT('Form')

CLEAR
? AINSTANCE(gaMyArray, 'Form')  && Returns 2, two form instances 
DISPLAY MEMORY LIKE gaMyArray  && Displays the references

Vea también

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