Поставляет ссылку на текущий объект в коде события или в определении класса.
THIS.PropertyName | ObjectName |
Параметры
- PropertyName
-
Определяет свойство, значение которого устанавливается или извлекается для данного объекта.
- ObjectName
-
Определяет объект в классе.
Примечания
THIS поставляет удобный путь длс обращения к текущему объекту при написании кода обработки событий в форме. Например, приведенная ниже строка кода события Click для командной кнопки, устанавливает ее заголовок в значение текущего времени:
![]() | |
---|---|
this.caption = time() |
Использование THIS вместо явной ссылки на текущий объекта по его имени (например, вместо thisform.command1.caption
) делает программный код легко переносимым между объектами, поскольку он избегает использования имени объекта, и автоматически инкапсюлирует родительский класс объекта.
THIS, кроме того, позволяет вас обращаться к свойству или объекту в определении класса. Методы в блоке определения класса могут использовать THIS для указания свойства или объекта, который будет существовать при создании класса.
Поскольку множество инстанций объектов совместно используют один и тот же код метода, THIS всегда ссылается на инстанцию, в которой исполняется код. Если имеется множество инстанций объекта, и вызывается один из методов объекта, то THIS всегда обращается к корректному объекту.
Пример
Приведенный ниже пример создает субкласс с именем MyForm
, основанный на класса Form. Создается метод с именем ChangeBackColor. ChangeBackColor использует THIS для ссылки на MyForm
.
![]() | |
---|---|
DEFINE CLASS MyForm AS FORM CAPTION = "This Form" HEIGHT = 15 WIDTH = 20 PROCEDURE ChangeBackColor PARAMETER NewColor THIS.BACKCOLOR = NewColor ENDPROC ENDDEFINE |