Difference between revisions of "RTTI controls/ru"
(New page: == Introduction == Эта page describes the package RunTimeTypeInfoControls in <lazarusdir>/components/rtticontrols/. RTTI controls extend many LCL controls by the ability to directly c...) |
|||
(8 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | + | {{RTTI controls}} | |
− | + | == Введение == | |
− | + | Эта страница описывет пакет 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 - отображать его, и всё это - без написания и строчки кода! | ||
+ | |||
+ | == См. также == | ||
+ | |||
+ | *[[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 - отображать его, и всё это - без написания и строчки кода!
См. также