Переделываю программу в службу.
Столкнулся со странностью, с которой ранее при написании служб не сталкивался.
В обычной программе такие компоненты как TMSSQLConnection и т.д. набросанные на форме/датамодуле, доступны из процедур не входящих в класс формы/модуля
т.е. я просто пишу имя модуля и обращаюсь к компонентам в нем. например Form1.MSSQLConnection1
А в службе это вызывает ошибку, при любом действии даже при прописывании параметров подключения mySrv.MSSQLConnection1.HostName:=SrvName;
try except в логи пишет ошибку EAccessViolation: Access violation
Т.е. компонент не доступен снаружи класса mySrv.
При этом если если процедуру прописать в класс, то все отрабатывает как положено.
Цель у меня вообще обращаться к компонентам не просто из процедур вне класса, а из соседних модулей.
Получается в службе/демоне это нельзя делать?
Или что-то нужно прописать дополнительно?
Добавлено спустя 3 минуты 23 секунды:
Вот тут интересно расписано про "дружественность" классов к компонентам друг друга в Delphi
https://www.gunsmoker.ru/2013/02/delphi ... ss.html#t3
получается что в Lazarus TDaemon по умолчанию закрыт от других классов т.е. "НЕ дружественный"