2010-07-14 2 views
2

Наличие странной проблемы, когда печать иногда не печатаетсякто/что удаляет задание на печать?

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

Printer-> TerminalPC -> Terminal Server. сессия по 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 раз. Единственным отличием является увеличение идентификатора, который печатается как часть штрих-кода. Штрих-код является единственным объектом, который печатается. Он сохраняет файл (* .emf) каждый раз - и отлично выглядит в файле. Приложение разработано с использованием Delphi 2010 и отлично работает всеми другими способами.

+0

Используете ли вы один и тот же пользовательский логин myUser для каждого доступа к серверу терминалов из приложения Delphi ?. Эта ссылка рассказывает о EventID: 13 в окнах. Вы можете проверить причины и посмотреть, есть ли там какая-то подсказка. - http://www.microsoft.com/technet/support/ee/transform.aspx?ProdName=Windows%20Operating%20System&ProdVer=5.2&EvtID=13&EvtSrc=autoenrollment&LCID=1033/ –

ответ

0

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

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