Freigeben über


AINSTANCE( )-Funktion

Speichert Instanzen einer Klasse in einem Variablenarray und gibt die Anzahl der im Array enthaltenen Instanzen zurück.

AINSTANCE(ArrayName, cClassName)

Rückgabewerte

Numerisch

Parameter

  • ArrayName
    Gibt den Namen des Arrays an, in das die Instanzen geschrieben werden sollen. Ist das angegebene Array nicht vorhanden, wird es von Visual FoxPro automatisch erstellt. Ist das Array vorhanden, aber nicht groß genug, um alle Instanzen aufzunehmen, passt Visual FoxPro die Größe des Arrays automatisch an die Anzahl der Instanzen an. Ist das Array größer als notwendig, wird es abgeschnitten. Wenn das Array vorhanden ist und AINSTANCE( ) 0 zurückgibt, weil keine Instanzen gefunden wurden, werden keine Veränderungen an dem Array vorgenommen. Ist das Array nicht vorhanden und gibt AINSTANCE( ) den Wert 0 zurück, wird das Array nicht erstellt.

    Es werden nur die Klasseninstanzen in das Array geschrieben, die mit CREATEOBJECT( ) oder NEWOBJECT( ) einer Speichervariablen oder einem Arrayelement zugeordnet wurden.

  • cClassName
    Gibt den Namen einer Visual FoxPro-Basisklasse oder einer benutzerdefinierten Klasse an. In der folgenden Tabelle sind die Visual FoxPro-Basisklassen aufgelistet, die Sie für cClassName angeben können:

    Namen der Basisklassen  
    ActiveDoc Beschriftung (Label)
    Kontrollkästchen (CheckBox) Linie (Line)
    Spalte Listenfeld (ListBox)
    Kombinationsfeld (ComboBox) OLE-Steuerelement (OLEControl)
    Befehlsschaltfläche (CommandButton) gebundenes OLE-Steuerelement (OLEBoundControl)
    Befehlsschaltflächengruppe (CommandGroup) Optionsfeld (OptionButton)
    Container Optionsgruppe (OptionGroup)
    Steuerelement (Control) Seite (Page)
    Cursor Seitenrahmen (PageFrame)
    Benutzerdefiniertes Objekt (Custom) Projektangel (ProjectHook)
    Datenumgebung (DataEnvironment) Beziehung (Relation)
    Bearbeitungsfeld (EditBox) Trennzeichen (Separator)
    Formularobjekt (Form) Sitzung
    Formularsatz (FormSet) Form (Shape)
    Datenraster-Steuerelement (Grid) Drehfeld (Spinner)
    Kopfzeile (Header) Textfeld (TextBox)
    Hyperlink Zeitgeber (Timer)
    Abbildung (Image) Symbolleiste (ToolBar)

Beispiel

Im folgenden Beispiel werden mit CREATEOBJECT( ) zwei Instanzen einer Visual FoxPro-Formularbasisklasse erstellt. Mit AINSTANCE( ) wird ein Array namens gaMyArray erstellt, das die Variablenbezüge (goINSTANCE1 und goINSTANCE2) für jede Formularinstanz enthält. Anschließend wird der Inhalt des Arrays angezeigt.

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

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

Siehe auch

ADD CLASS-Befehl | AMEMBERS( )-Funktion | CREATE CLASS-Befehl | CREATE CLASSLIB-Befehl | CREATEOBJECT( )-Funktion | DEFINE CLASS-Befehl