AMEMBERS( )-Funktion
Schreibt die Namen der Eigenschaften, Prozeduren und Unterobjekte eines Objekts in ein Array.
AMEMBERS(ArrayName, ObjectName | cClassName [, nArrayContentsID] [, cFlags])
Rückgabewerte
Numerisch
Parameter
ArrayName
Gibt das Array an, in das die Namen der Untereigenschaften des Objekts ObjectName geschrieben werden sollen. Wenn Sie den Namen eines Arrays angeben, das nicht vorhanden ist, wird das Array automatisch erstellt. Ist das Array nicht groß genug, um alle Namen aufnehmen zu können, wird es von Visual FoxPro automatisch entsprechend vergrößert.ObjectName
Gibt das Objekt an, für das die Namen der Untereigenschaften in das mit ArrayName angegebene Array geschrieben werden sollen. ObjectName muss ein Ausdruck sein, der ausgewertet ein Objekt angibt: ein Objektverweis, eine Objektvariable oder ein Element eines Objektarrays.cClassName
Gibt die Visual FoxPro-Klasse an, für die die Namen der Untereigenschaften in das mit ArrayName angegebene Array geschrieben werden sollen.nArrayContentsID 1 | 2 | 3
Der Wert 1 gibt an, dass das Array nicht nur die Namen der Eigenschaften des Objekts oder der Klasse, sondern auch die Namen von dessen Methoden und Unterobjekten enthält. Es wird ein zweidimensionales Array erstellt, dessen zweiter Spalte der Typ des in der ersten Spalte aufgeführten Objektelements entnommen werden kann. Die möglichen Werte für die zweite Spalte sind Property, Event, Method oder Object.Der Wert 2 gibt an, dass das Array die Namen der Objekte enthält, die Mitglieder eines systemeigenen Visual FoxPro-Objekts sind, das mit ObjectName angegeben wurde. Das resultierende Array ist eindimensional.
Dieses Argument ermöglicht es, die Namen aller untergeordneten Objekte eines Containers festzustellen, wie z. B. aller Formularobjekte in einem Formularsatz (FormSet) oder aller Steuerelemente auf einem Formular (Form).
Der Wert 3 gibt an, dass das Array Informationen zu einem oder mehreren Objekten enthält. Sie können einen Objektverweis entweder einem systemeigenen Visual FoxPro-Objekt oder einem COM-Objekt übergeben.
Das bei Angabe dieses Parameters zurückgegebene Array umfasst vier Spalten, wie in der folgenden Tabelle beschrieben:
Spalte Beschreibung 1 Name des Ereignisses oder der Methode 2 Eigenschaftentyp (z. B. PROPERTYPUT, PROPERTYGET, PROPERTYPUTREF, METHOD) 3 Funktionssignatur (Parameter und ihre Typen sowie der Rückgabetyp der Funktion). Diese Informationen ähneln dem QuickInfo-Text, der in der IntelliSense-Erweiterung einer Methode angegeben wird 4 Hilfetext Wenn Sie nArrayContentsID weglassen, gibt AMEMBERS( ) ein einspaltiges Array mit Eigenschaften zurück.
cFlags
Gibt die Art des Filterns an, die für das Array angewendet werden soll, das von der AMEMBERS( )-Funktion zurückgegeben wird. Wenn AMEMBERS( ) ein COM-Objekt übergeben wird (der Wert von ArrayContentsID beträgt 3), ist cFlags nicht funktionsfähig. Einige Attribute schließen sich gegenseitig aus. Wenn Sie mehrere cFlag-Parameter einsetzen, sollten Sie diese in folgenden Gruppierungen verwenden:[P | H | G] [N | U] [C] [I | B] [R]
In den folgenden Tabellen werden die gültigen Werte für cFlags beschrieben.
Value Filterattribute P Geschütze Eigenschaften, Methoden oder Ereignisse H Versteckte Eigenschaften, Methoden oder Ereignisse G Öffentliche Eigenschaften, Methoden oder Ereignisse N Systemeigene (interne) Eigenschaften, Ereignisse oder Methoden U Benutzerdefinierte (externe) Eigenschaften, Methoden oder Ereignisse C Geänderte Eigenschaften I Geerbte Eigenschaften, Methoden oder Ereignisse B Basiseigenschaften, -methoden oder -ereignisse (unter Verwendung der AddProperty-Methode) R Schreibgeschützte Eigenschaften
Die Standardkonfiguration für das von cFlags festgelegte Filtern ist ein logisches OR (ODER) zwischen den Attributen. Sie können diese Standardkonfiguration mit Hilfe spezieller + cFlags ändern.
Value | Spezielle Attribute |
---|---|
# | Fügt dem Ausgabearray mit dem entsprechenden cFlags-Wert eine neue Spalte hinzu. |
+ | Führt zwischen Filterattributen ein logisches AND (UND) durch. |
Hinweise
Wenn das Array nicht erstellt werden kann, gibt AMEMBERS( ) die Anzahl der Objekte, Eigenschaften und Prozeduren des Objekts bzw. 0 zurück. Wenn Sie die optionalen Parameter 1, 2 und 3 nicht angeben, wird ein eindimensionales Array mit den Eigenschaften von ObjectName erstellt.
Sie können der AMEMBERS( )-Funktion COM-Objektverweise übergeben. In diesem Fall müssen Sie jedoch auch den Wert 3 im dritten (Attribut) Parameter übergeben, wie im folgenden Beispiel dargestellt.
oExcel = CREATEOBJECT("excel.application")
= AMEMBERS(gaPropArray, oExcel, 3)
Beispiel
Im folgenden Beispiel wird mit CREATEOBJECT( ) ein Formularobjekt (Form) mit Namen goForm1
erstellt. Mit AMEMBERS( ) wird ein Array mit Namen gaPropArray
erstellt, welches die für das Formular verfügbaren Eigenschaften enthält; anschließend werden die Eigenschaften angezeigt.
CLEAR
goForm1 = CREATEOBJECT("Form") && Creates a Form
= AMEMBERS(gaPropArray, goForm1, 1) && Array containing Form properties
DISPLAY MEMORY LIKE gaPropArray && Display the Form properties
Siehe auch
ADD CLASS | AINSTANCE( ) | CREATE CLASS | CREATE CLASSLIB | CREATEOBJECT( ) | DEFINE CLASS