![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Автоматическое связывание событий с обработчиками в Delphi: принципы работы компилятораDelphi , Алгоритмы , КомпиляторыАвтоматическое связывание событий с обработчиками в DelphiКогда вы дважды кликаете на кнопку во время разработки в Delphi и автоматически создается процедура Принцип работыКомпилятор не анализирует имя процедуры для определения связанного компонента. Вместо этого, связывание события с обработчиком происходит на этапе проектирования формы и сохраняется в файле DFM (Data Module Format), который является бинарным ресурсом программы, содержащим информацию о всех визуальных элементах и их свойствах. Пример содержимого файла DFM для кнопки
Строка Также можно изменять обработчики событий в режиме выполнения программы:
Важные моменты
Роль компилятораКомпилятор не участвует напрямую в связывании событий с обработчиками. Это выполняет система разработки IDE (Integrated Development Environment), которая контролирует работу компонентов на этапе проектирования интерфейса. Когда вы дважды кликаете по контролу, дизайнер формы знает, какой элемент был выбран благодаря актуальному объекту в памяти. Для определения стандартного обработчика событий используются метаданные (RTTI - Runtime Type Information) и реализация После переименования процедуры обработчика в Object Inspector, все ссылки на эту же процедуру для различных объектов обновляются автоматически через RTTI. На этапе компиляции проекта сначала используется RTTI и зарегистрированные потоки кастомизации компонентов для создания файла DFM с бинарными ресурсами. Затем запускается компилятор, который компилирует исходный код и связывает файл DFM как ресурс в исполняемом файле. На этапе выполнения программы RTL (Runtime Library) анализирует бинарные данные из ресурса DFM, используя RTTI для настройки свойств и событий компонентов. Автоматическое связывание событий с обработчиками в Delphi происходит на этапе проектирования формы и сохраняется в файле DFM, который описывает связь между событием клика по кнопке и процедурой обработчика. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Компиляторы ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |