Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книга о KOL.doc
Скачиваний:
29
Добавлен:
30.04.2019
Размер:
1.77 Mб
Скачать

6.13.2. Работа с портами

Несколько пакетов для работы с COM-портом и LPT-портом разных авторов.

6.13.2.1. ComPort

Объект для работы с COM-портом, с визуальным зеркалом (плюс бонус в виде визуального LED-контрола, наподобие лампочки). Автор Василий Пивко.

6.13.2.2. MHComPort

Еще один компонент для работы с COM-портом. Автор Дмитрий Жаров a.k.a. Gandalf.

6.13.2.3. ForLPT

Объект для работы с портом LPT в операционных системах Windows 9x/ME. Автор Александр Работягов.

6.13.3. CGI

С помощью KOL вполне возможно создавать очень небольшие серверные приложения CGI. Пример того, как это делается, имеется в приложении WebCountExe, предоставленном вместе с исходным кодом Андреем Чебановым. (Смотреть следует в разделе «Приложения» на основном сайте).

6.14. Системные утилиты.

Этот раздел для «продвинутых» программистов, пишущих так называемый «системный» софт. Для написания обычных приложений предлагаемые здесь пакеты вообще не нужны. Поэтому можете смело пропустить эту главу, если вы пишете обычные прикладные программы.

6.14.1 Сервисы nt

Сервисы Windows NT, в отличие от обычных приложений, работают в тесном сотрудничестве с операционной системой. А именно, они вызываются в адресном пространстве и в контексте операционной системы, при этом получая некоторые возможности, недоступные обычным приложениям. Список работающих на вашей машине сервисов может быть получен из Панели Управления, но он доступен только для пользователя, обладающего правами администратора. Многие важные компоненты самой операционной системы линейки NT организованы именно как сервисы. Или, можно сказать совсем по-другому: операционная система состоит из компонентов, являющихся сервисами. Таким образом, оформление приложения как сервиса означает, что ваше приложение становится компонентом операционной системы.

На самом деле, API для организации своего приложения как сервиса не слишком сложно. Но с предлагаемым набором объектов эта работа настолько радикально облегчается, что не воспользоваться им – это просто кощунство.

Итак, пакет KOLService, автор Александр Шахайло (Украина). Объекты:

TServiceContol – позволяет зарегистрировать сервис и управлять им (остановить, запустить);

TService – позволяет организовать само приложение, в котором он используется, как сервис;

TServiceEx – позволяет сервису быть диалоговым, то есть иметь визуальный интерфейс с обычными формами и другими окнами. Для чего следует использовать этот объект вместо TService.

Отличия процесса написания сервиса от написания обычного приложения весьма невелики. Самое существенное из них – это то, что ваш код в случае сервисов запускается в контексте задачи операционной системы, и оформляется как набор обработчиков событий объекта TService или TServiceEx.

Но надо не забывать, что сервис действительно становится компонентом операционной системы. Если он будет работать со сбоями или зависнет, то это очень сильно отразится на работоспособности всей системы. Кроме того, для отладки сервиса практически нет никаких средств, кроме формирования собственных лог-файлов или звуковых сигналов. Постарайтесь, по возможности, отладить алгоритмы до кого, как использовать их внутри сервиса.