Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sie können Elemente von Klassen als Arrays definieren. Im folgenden Beispiel stellt choices ein Array von Steuerelementen dar.
DEFINE CLASS MoverListBox AS CONTAINER
DIMENSION choices[3]
ADD OBJECT lstFromListBox AS LISTBOX
ADD OBJECT lstToListBox AS LISTBOX
ADD OBJECT choices[1] AS COMMANDBUTTON
ADD OBJECT choices[2] AS COMMANDBUTTON
ADD OBJECT choices[3] AS CHECKBOX
PROCEDURE choices.CLICK
PARAMETER nIndex
DO CASE
CASE nIndex = 1
* code
CASE nIndex = 2
* code
CASE nIndex = 3
* code
ENDCASE
ENDPROC
ENDDEFINE
Wenn ein Benutzer in einem Array von Steuerelementen auf ein Steuerelement klickt, übergibt Visual FoxPro die Indexnummer des Steuerelements an die Click-Ereignisprozedur. In dieser Prozedur können Sie mit Hilfe einer CASE-Anweisung und in Abhängigkeit davon, auf welche Schaltfläche geklickt wurde, unterschiedlichen Code ausführen.
Erstellen von Objektarrays
Sie können auch Objektarrays erstellen. MyArray enthält z. B. fünf Befehlsschaltflächen:
DIMENSION MyArray[5]
FOR x = 1 TO 5
MyArray[x] = CREATEOBJECT("COMMANDBUTTON")
ENDFOR
Nun folgen einige Anmerkungen, die Sie bei Objektarrays beachten sollten:
Es ist nicht möglich, einem ganzen Objektarray über einen einzigen Befehl ein Objekt zuzuweisen. Diese Zuweisung muss für jedes Objekt des Feldes einzeln erfolgen.
Sie können einer Eigenschaft eines gesamten Arrays keinen Wert zuweisen. Der folgende Befehl würde einen Fehler ergeben:
MyArray.Enabled = .F.Wenn Sie ein Objektarray neu dimensionieren, so dass es größer ist als das ursprüngliche Feld, dann werden die neuen Elemente zu Beginn auf Falsch (.F.) gesetzt, genauso, wie dies in Visual FoxPro mit allen Arrays geschieht. Wenn Sie ein Objektarray neu dimensionieren, so dass es kleiner wird als das ursprüngliche Feld, dann werden die Objekte freigegeben, deren Indizes größer sind als der größte neue Index.
Siehe auch
Programmgesteuertes Schreiben von Klassendefinitionen | Erstellung eines Objektverweises | Datenspeicherung mit Objekten | Integration von Objekten und Daten | Objektorientierte Programmierung