Турбо Паскаль 6.0


Централизация сбора событий.


Одно из наибольших достижений программирования управляемого событиями в том, что Ваш код не должен знать откуда поступают события. Например, объект окно должен только знать, что когда он видит в событии команду cmClose, он должен закрыться. Его не интересует то ли эта команда поступила от отметки его закрывающей кнопки, или из выбора меню, или от горячей клавиши, или пришло сообщение от другого объекта программы. Он даже не беспокоиться о том, предназначалась ли эта команда ему. Он только должен знать как обработать данное событие и обрабатывает его. Ключ к этому "черному ящику" событий - метод GetEvent программы. GetEvent - это единственная часть программы, которая интересуется источником событий. Объекты Вашей программы просто вызывают GetEvent и получают события от мышки, клавиатуры или сгенерированные другими объектами. Если Вы хотите создать новые виды событий (например, чтение символов из последовательного порта) Вы просто перекрываете TApplication.GetEvent в Вашей программе. Как Вы можете увидеть из TProgram.GetEvent в APP.PAS цикл в GetEvent сканирует мышку и клавиатуру, а затем вызывает Idle. Чтобы вставить новый источник событий, Вы можете либо перекрыть Idle для просмотра символов из последовательного порта и генерации событий, основанных на этих символах, либо перекрыть сам GetEvent, чтобы добавить GetComEvent(Event) в цикл, где GetComEvent возвращает запись события, если доступен символ от последовательного порта.




- Начало -  - Назад -  - Вперед -



Книжный магазин