GetTemplateObject

> [HTML Version](gettemplateobject.html)

**Синтаксис**

````
function GetTemplateObject(AName: string): TM\_Object;

````
Важно\! Данная функция работает только в скриптах объектов, которые находятся в шаблоне/шаблонном окне. Примеры использования функции можно найти [по ссылке](scriptstempl.md).

**Описание**

Возвращает объект с указанным именем из шаблона/шаблонного окна. Возвращает nil если объект не найден. Также, функция работает по событию [OnInit](additional-events.md) шаблона/шаблонного окна и по событиям OnShow и OnClose шаблонного окна. Функция позволяет обращаться к объектам шаблона и работать с ними через скрипты.

**Пример кода**

Рассмотрим ситуацию, когда имеется шаблон с компонентами Кнопка (Button1) и Изображение (Image1) и требуется по нажатию на кнопку менять видимость изображения. Но к объектам внутри шаблона/шаблонного окна нельзя обратиться напрямую через скрипты, т.к. шаблон и объекты в нем не являются реальными объектами. Только после запуска проекта, на основе шаблона будет создано множество реальных объектов. А на основе шаблонных окон будет создано множество реальных окон. До запуска проекта эти объекты не существуют. 

Функция GetTemplateObject решает проблему обращения к объектам шаблона. Для решения вышеописанной задачи на событие OnClick кнопки нужно назначить следующий код:

````
var  
  aImage: TM\_Image;  
begin  
  // ищем среди всех объектов шаблона объект с именем Image1 и   
  // записываем результат в локальную переменную aImage  
  aImage := GetTemplateObject('Image1') as TM\_Image;  
  
  // теперь работаем с полученным изображением меняя его   
  // видимость на противоположное значение   
  aImage.Visible := not aImage.Visible;  
end.
````