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