кто / что удаляет задание на печать? - PullRequest
2 голосов
/ 14 июля 2010

Возникла странная проблема, когда время от времени не печатается отпечаток

Сценарий состоит в том, что мы печатаем этикетки со штрих-кодом на принтере для штрих-кодов (Zebra LP2844).Принтер подключается к TerminalPC и затем используется совместно.

Принтер-> TerminalPC -> Сервер терминалов.Сеанс на TerminalServer использует принтер как \ TerminalPC \ Printer

При регистрации событий печати мы видим следующее:

Print OK:
1) Print OK (Event 10, User myUser)
2) Print deleted (Event 13, User NT-AUTHORITY\SYSTEM)

Print not OK => only Event 2) appears in the event log

Кто-нибудь знает, что здесь происходит?

Дополнительная информация: эта проблема возникает примерно 2 из 10 раз.Разница лишь в том, что увеличивающийся ID печатается как часть штрих-кода.Штрих-код является единственным печатным объектом.Он сохраняет в файл (* .emf) каждый раз - и отлично смотрится в файле.Приложение разработано с использованием Delphi 2010 и отлично работает во всех других отношениях.

1 Ответ

0 голосов
/ 27 апреля 2012

Задания печати удаляются из диспетчера очереди печати монитором порта. Монитор порта " EndDocPort " вызывает функцию " SetJob " с JOB_CONTROL_SENT_TO_PRINTER, чтобы указать, что задание завершено, и это удаляет его из спулера.

Если принтер использует монитор пользовательских портов, проблема может быть в драйвере принтера или мониторе пользовательских портов. Если он использует стандартный порт, такой как LPT или USB, то, скорее всего, проблема в том, что приложение не вызывает « EndDoc » постоянно или не проверяет коды возврата из EndDoc.

...