Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Перенос приложения в сервис [D7, WinXP]


Ярослав ©   (2005-11-18 08:33:00) 

У меня есть приложение которое отлавливает что и кто печатал на принтерах установленных на компьютере, оно работает нормально, для каждого принтера создаеться свой поток, в нем просходит фиксация печати на принтер и запись данных в базу, я попробовал переделать его в службу.
Сделал все просто просто создал service application и перенес туда весь свой код, один в один, просто копированием, форм у сервиса нету, значек в трее тоже не нужен, он должен просто сохранять в базу то что перехватил с принтера.
Но не работает сервис!!! Он устанавливаеться, запускаеться, никаких ошибок не выдает! Но не работает, не записывает в базу ничего и все тут.
С чем это может быть связанно?


Separator   (2005-11-19 08:40:00) [1]

лучший вариант с исходниками на следующей неделе, когда готова будет. Все равно придется переделывать под MS-SQL. Сейчас мне просто не к спеху, как то ведь и без нее работали

Спасибо за ранее


Ярослав   (2005-11-19 08:31:00) [2]

С сервисом я кстати разобрался, заработал он


Ярослав   (2005-11-19 08:30:00) [3]

>> Separator ©   (18.11.05 19:54) [6]
Могу, но она еще не доконца дописана, в ходе ее написание, как раз и выяснилось что ее лучше службой делать, о просмоторщик и отчеты отдельно, а службу устонавливать на каждый компьютер к которому подключен принтер, вот и переделываю, если нужны исходники того что есть то могу прислать, если готовая, то на следующей неделе доделаю, работать бедет с базой FireBird 1.5


Separator   (2005-11-18 19:54:00) [4]

Можешь дать программу? Очень нужна, но пока физически не хватает времени разобраться со всеми сообщениями принтера.


Digitman   (2005-11-18 13:26:00) [5]


> Erik1 ©   (18.11.05 12:04) [4]


> в нутри события ServiceStart запусти свой поток


с какого перепугу-то ?)

поток есть резон запускать там где он действительно нужен, а не там где его огульно советует запускать некий Erik1


Erik1   (2005-11-18 12:04:00) [6]

Короче в нутри события ServiceStart запусти свой поток. Есть и другие методы.


Digitman   (2005-11-18 09:09:00) [7]

http://support.microsoft.com/default.aspx?scid=kb;en-us;171890


Ярослав   (2005-11-18 09:02:00) [8]

А что значит - взаимодействовать с активным декстопом?


Digitman   (2005-11-18 08:56:00) [9]


> С чем это может быть связанно?


с "перенес туда весь свой код, один в один, просто копированием"..

нельзя так делать !

каждый случай с "переносом" следует рассматривать индивидуально, потому что сервисы все-таки имеют особенности функционирования по сравнению с функционированием обычных приложений

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

следует так же учитывать, разрешено ли сервису взаимодействовать с активным декстопом, а так же под какой уч.записью (от имени какого пользователя) сервис был стартован


Наверх

Титульная страница Поиск, карта сайта Написать письмо