![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Перенос приложения в сервис [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]
> С чем это может быть связанно?
с "перенес туда весь свой код, один в один, просто копированием"..
нельзя так делать !
каждый случай с "переносом" следует рассматривать индивидуально, потому что сервисы все-таки имеют особенности функционирования по сравнению с функционированием обычных приложений
следует принимать во внимание хотя бы тот факт, что каждый активный сервис в составе сервис-процесса исполняется в контексте отдельного (НЕ основного) кодового потока
следует так же учитывать, разрешено ли сервису взаимодействовать с активным декстопом, а так же под какой уч.записью (от имени какого пользователя) сервис был стартован