![]() |
|
#1
|
|||
|
|||
![]() Всем привет. у меня вопрос. есть модуль с классом
Service1 = class(TService) в разделе uses подключаю датамодуль, которй юзает модули DB, ADODB/ в обработчике OnExecute сервиса создаю датамодуль. таким образом создаются компоненты, расположенные на нем. так вот. если на датамодуле присутствуют компоненты TADOConnection и TADOQuery, то служба не запускается. если нет - то запускается. |
#2
|
|||
|
|||
![]() Очень все просто.
Но есть несколько замечаний. 1. Основной поток сервиса предназначен исключительно для работы с менеджером сервисов. Так что есть полезный код придется "выкинуть" в отдельный поток, а в основном только обрабатывать команды менеджера. 2. Дело в том, что ADO является COM-объектами, а для их работы в каждом потоке надо заного инициализировать COM-подсистему с помощью вызова процедуры CoInitialize. Для обычного приложения это делает Application, а для всего остального надо делать руками. |