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.
Mit Hilfe der ADD OBJECT-Klausel des Befehls DEFINE CLASS oder über die AddObject-Methode können Sie einem Container Objekte hinzufügen.
Die folgende Klassendefinition beruht beispielsweise auf einem Formular. Der Befehl ADD OBJECT fügt zwei Befehlsschaltflächen zum Formular hinzu:
DEFINE CLASS myform AS FORM
ADD OBJECT cmdOK AS COMMANDBUTTON
ADD OBJECT PROTECTED cmdCancel AS COMMANDBUTTON
ENDDEFINE
Wenn Sie Objekte in einen Container einfügen möchten, nachdem das Container-Objekt erstellt wurde, dann verwenden Sie dazu die AddObject-Methode. Über die folgenden Codezeilen wird z. B. ein Formular-Objekt erstellt, dem dann zwei Befehlsschaltflächen hinzugefügt werden:
frmMessage = CREATEOBJECT("FORM")
frmMessage.AddObject("txt1", "TEXTBOX")
frmMessage.AddObject("txt2", "TEXTBOX")
Sie können die AddObject-Methode auch im Methodencode einer Klasse verwenden. In der folgenden Klassendefinition wird AddObject beispielsweise in dem mit dem Init-Ereignis verknüpften Code verwendet, um ein Steuerelement zu einer Rasterspalte hinzuzufügen.
DEFINE CLASS mygrid AS GRID
ColumnCount = 3
PROCEDURE Init
THIS.Column2.AddObject("cboClient", "COMBOBOX")
THIS.Column2.CurrentControl = "cboClient"
ENDPROC
ENDDEFINE
Hinzufügen und Erstellen von Klassen in Methodencode
Mit der AddObject-Methode können Sie Objekte zu einem Container programmgesteuert hinzufügen. Außerdem können Sie Objekte mit der CREATEOBJECT( )-Funktion in der Methode Load, Init oder jeder anderen Methode der Klasse erstellen.
Wenn Sie ein Objekt mit der AddObject-Methode hinzufügen, wird es ein Element des Containers. Die Parent-Eigenschaft des hinzugefügten Objekts verweist auf den Container. Wenn ein auf der Steuerelement- oder Container-Klasse basierendes Objekt aus dem Arbeitsspeicher gelöscht wird, wird das hinzugefügte Objekt ebenfalls gelöscht.
Wenn Sie ein Objekt mit der CREATEOBJECT( )-Funktion erstellen, erhält es den Gültigkeitsbereich einer Eigenschaft der Klasse oder einer Variablen der Methode, die diese Funktion aufruft. Die Parent-Eigenschaft des Objekts ist undefiniert.
Siehe auch
Programmgesteuertes Schreiben von Klassendefinitionen | Erstellung von Objekten aus Klassen | Richtlinien für Methoden- und Ereigniscode | Schützen und Ausblenden von Klassenelementen | Objektorientierte Programmierung