Для добавления нового Объекта в Контейнерный Класс (или Объект) вы можете использовать дополнительную секцию ADD OBJECT в стандартной команде DEFINE CLASS, или стандартный метод контейнерного класса AddObject.
Например, в следующем фрагменте программного Кода - создается контейнерный Объект = Форма (Form). Секция ADD OBJECT используется для добавления двух командных Кнопок в данной форме (дочерние для Формы объекты типа "CommandButton"):
![]() |
|
---|---|
DEFINE CLASS myform AS FORM |
Метод AddObject используется для добавления новых, дочерних Объектов в том случае, когда родительский Контейнер уже создан. Например, Сначала создается пользовательская Форма (переменная FrmMessage), далее создаются два поля для ввода (TextBox):
![]() |
|
---|---|
frmMessage = CREATEOBJECT("FORM") |
Вы можете также использовать описанный выше Метод AddObject внутри Метода Родительского класса. Например, далее приводится фрагмент программного Кода, где метод AddObject используется для добавления Контрола (cboClient типа ComboBox) во 2-ой Столбец объекта Grid, который выполняется в соответствующем Событии Init.
![]() |
|
---|---|
DEFINE CLASS mygrid AS GRID |
Добавление и Создание Классов в программном Коде Метода
Добавить новый Объект в контейнерный Класс при помощи программного Кода вы можете использую метод AddObject. Для этих целей также можетт быть использована стандартная функция CREATEOBJECT( ), которая размещается в программном Коде событий Load, Init, или в другом Методе рассматриваемого контейнерного Класса.
При добавлении нового Объекта с помощью стандартного метода AddObject, данный Объект становится Членом указанного контейнерного Класса (родительского Объекта). В этом случае, стандартное свойство Parent добавленного Объекта будет содержать Ссылку на родительский объект - контейнер. Если родительский объект-контейнер или объект-контрол стираются из Памяти, то также очищаются все созданные в данных Контейнерах дочерние Объекты.
Когда новый дочерний Объект создается с помощью функции CREATEOBJECT( ), данный объект ассоциируется с некоторым Свойством Контейнера или другой Переменной рассматриваемого Метода, в котором вызвана указанная функция. В этом случае, Свойство Parent создаваемого Объекта - не определяется.