Это добавляется генератором кода IDE, "на всякий случай" ...
IDE в основном создает формы, поэтому добавляет их в ваш сервисный модуль, даже если в вашем сервисе нет необходимости в пользовательском интерфейсе.
Что забавно, так как начиная с Windows Vista / Seven, сервисы больше не могут отправлять сообщения GDI на рабочий стол, то есть взаимодействовать с ним. Таким образом, определенно нет даже возможности использовать диалоги или элементы управления пользовательским интерфейсом из службы Windows.
На самом деле, даже SvcMgr.pas
ссылается на Forms.pas + Dialogs.pas
единиц. Таким образом, удаление ссылки в вашем собственном подразделении будет продолжать связывать эти подразделения.
Похоже, что Forms.pas + Dialogs.pas
требуется SvcMgr.pas
для отображения сообщения о потенциальной ошибке при установке службы в командной строке.
На самом деле, ваша служба .exe
работает не только в фоновом режиме, а как служба. Его также можно запустить из командной строки, как обычное приложение, чтобы установить / удалить / запустить / остановить службу.
Вы можете взглянуть на нашу более легкую реализацию служб Windows в Delphi - но не на те же функции - просто кое-что, чтобы поиграть с API. Эта версия не содержит ссылок на Forms.pas
и Dialogs.pas
единиц.