Difference between revisions of "RTTI controls/ru"

From Lazarus wiki
Jump to navigationJump to search
 
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== Представление ==
+
{{RTTI controls}}
  
Эта траница описаывет пакет RunTimeTypeInfoControls в <lazarusdir>/components/rtticontrols/.
+
== Введение ==
  
Компоненты RTTI дополняют многие LCL компоненты, возможностью напрямую соединяться с публикуемыми свойствами класов.
+
Эта страница описывет пакет RunTimeTypeInfoControls в ''<lazarusdir>''/components/rtticontrols/.
Они намного уменьшают код, который необходимо написать, автоматически загружая/сохраняя данные между LCL компонентами и публикумемыми свойствами. Фактически, мы можете создавать работающие формы без написания какого либо кода.
 
  
В комбинации с [[Streaming components]] вы можете уменьшить количество кода, необходимого для соединения данных программы с GUI и Диском/Сетью до минимума.
+
Компоненты RTTI расширяют многие компоненты LCL возможностью напрямую соединяться с опубликованными свойствами классов.
 +
Они значительно сокращают написание скучного кода, автоматически загружая/сохраняя данные между компонентами LCL и опубликованными свойствами. Фактически, вы можете создавать работающие формы вообще без написания какого-либо кода.
 +
 
 +
В комбинации с [[Streaming components]] вы можете уменьшить количество кода, необходимого для соединения данных программы с GUI и диском/сетью, до минимума.
 +
 
 +
Хорошее объяснение RTTI для Delphi, которое также может быть применено и к Free Pascal, можно найти здесь:
 +
http://www.blong.com/Conferences/BorConUK98/DelphiRTTI/CB140.htm
 +
 
 +
==Тестирование компонентов==
 +
 
 +
Элементы управления RTTI очень полезны при написании/тестировании компонентов.
 +
 
 +
*Поместите ваш компонент на форму
 +
*Поместите элемент управления RTTI на форму
 +
*Укажите ваш компонент в свойстве '''TIObject''' компонента RTTI
 +
*Укажите нужное свойство (из выпадающего списка) в свойстве '''TIPropertyName''' компонента RTTI
 +
*Теперь вы можете редактировать свойство в интерактивном режиме и видеть результаты ваших изменений во время выполнения (а иногда и во время разработки, в зависимости от компонента)
 +
*Каждый элемент управления RTTI будет пытаться вызвать соответствующий редактор свойства для вашего выбранного свойства.
 +
 
 +
Например, если свойство имеет тип StringList, то RTTIButton будет вызывать редактор StringList, RTTIMemo - отображать его, и всё это - без написания и строчки кода!
 +
 
 +
== См. также ==
 +
 
 +
*[[Runtime Type Information (RTTI)/ru|Runtime Type Information (RTTI)]]
 +
<br>

Latest revision as of 16:19, 28 January 2018

Deutsch (de) English (en) español (es) français (fr) 日本語 (ja) português (pt) русский (ru)

Введение

Эта страница описывет пакет RunTimeTypeInfoControls в <lazarusdir>/components/rtticontrols/.

Компоненты RTTI расширяют многие компоненты LCL возможностью напрямую соединяться с опубликованными свойствами классов. Они значительно сокращают написание скучного кода, автоматически загружая/сохраняя данные между компонентами LCL и опубликованными свойствами. Фактически, вы можете создавать работающие формы вообще без написания какого-либо кода.

В комбинации с Streaming components вы можете уменьшить количество кода, необходимого для соединения данных программы с GUI и диском/сетью, до минимума.

Хорошее объяснение RTTI для Delphi, которое также может быть применено и к Free Pascal, можно найти здесь: http://www.blong.com/Conferences/BorConUK98/DelphiRTTI/CB140.htm

Тестирование компонентов

Элементы управления RTTI очень полезны при написании/тестировании компонентов.

  • Поместите ваш компонент на форму
  • Поместите элемент управления RTTI на форму
  • Укажите ваш компонент в свойстве TIObject компонента RTTI
  • Укажите нужное свойство (из выпадающего списка) в свойстве TIPropertyName компонента RTTI
  • Теперь вы можете редактировать свойство в интерактивном режиме и видеть результаты ваших изменений во время выполнения (а иногда и во время разработки, в зависимости от компонента)
  • Каждый элемент управления RTTI будет пытаться вызвать соответствующий редактор свойства для вашего выбранного свойства.

Например, если свойство имеет тип StringList, то RTTIButton будет вызывать редактор StringList, RTTIMemo - отображать его, и всё это - без написания и строчки кода!

См. также