Поставляет ссылку на текущий объект в коде события или в определении класса.

THIS.PropertyName | ObjectName

Параметры

PropertyName

Определяет свойство, значение которого устанавливается или извлекается для данного объекта.

ObjectName

Определяет объект в классе.

Expand imageПримечания

THIS поставляет удобный путь длс обращения к текущему объекту при написании кода обработки событий в форме. Например, приведенная ниже строка кода события Click для командной кнопки, устанавливает ее заголовок в значение текущего времени:

  CopyCode imageСкопировать код
this.caption = time()

Использование THIS вместо явной ссылки на текущий объекта по его имени (например, вместо thisform.command1.caption) делает программный код легко переносимым между объектами, поскольку он избегает использования имени объекта, и автоматически инкапсюлирует родительский класс объекта.

THIS, кроме того, позволяет вас обращаться к свойству или объекту в определении класса. Методы в блоке определения класса могут использовать THIS для указания свойства или объекта, который будет существовать при создании класса.

Поскольку множество инстанций объектов совместно используют один и тот же код метода, THIS всегда ссылается на инстанцию, в которой исполняется код. Если имеется множество инстанций объекта, и вызывается один из методов объекта, то THIS всегда обращается к корректному объекту.

Expand imageПример

Приведенный ниже пример создает субкласс с именем MyForm, основанный на класса Form. Создается метод с именем ChangeBackColor. ChangeBackColor использует THIS для ссылки на MyForm.

  CopyCode imageСкопировать код
DEFINE CLASS MyForm AS FORM
 CAPTION = "This Form"
 HEIGHT = 15
 WIDTH = 20

 PROCEDURE ChangeBackColor
 PARAMETER NewColor
  THIS.BACKCOLOR = NewColor
 ENDPROC
ENDDEFINE

Expand image Смотрите также