4-6 Application Development Information Rev. D
When the FlagWhenIdle property is set to TRUE, PTR_SUE_IDLE is sent to inform the
application that the printer is idle. Other than when data is being sent, the printer is in an idle
state, so if FlagWhenIdle is TRUE, an event will be fired when printing is finished. After the
event is fired, FlagWhenIdle will be set to FALSE. By using this value, the information below can
be found out.
*Finding out when multiple asynchronous print jobs have finished printing. When multiple
asynchronous print jobs have been sent to the printer, it is possible to know when they have
finished printing. After setting the AsyncMode property to TRUE and running the PrintNormal
method, change the FlagWhenIdle property to TRUE. When all data has finished printing, the
printer becomes idle and a StatusUpdateEvent is fired to the application with the value of
PTR_SUE_IDLE.
4.4.2.2 Printer Errors and Status
A change in printer status when asynchronous data is being sent is made available to the
program by the firing of an ErrorEvent and StatusUpdateEvent. When the printer changes status
while nothing is happening, the change is told to the program by a StatusUpdateEvent only.
As an example, assume that the printer cover becomes open. Usually, when data is not being
sent to the printer and the cover is opened, a StatusUpdateEvent is fired to the application. After
the AsyncMode property is set to TRUE and a method is used to print data, if the cover is
opened while the data is being sent, the program is notified by an ErrorEvent. ErrorEvents are
fired when the error has interrupted the data that is being sent. Only StatusUpdateEvent will
fire when the error does not effect the data and the data will continue being sent as normal.
Reasons for the ErrorEvent being fired and the corresponding error names are listed below.
ResultCode/ ResultCodeExtended Reason
PTR_SUE_COVER_OK Cover is closed.
PTR_SUE_REC_EMPTY Receipt paper is out.
PTR_SUE_REC_PAPEROK Receipt paper is OK.
PTR_SUE_IDLE Printer State is idle.
OPOS_E_ILLEGAL There is an abnormality with the device. (Includes the
following 1 error)
OPOS_E_EXTENDED Error determined by the device’s SO (Includes the
following 4 errors)
OPOS_EPTR_COVER_OPEN Cover is open.
OPOS_EPTR_REC_EMPTY Receipt paper is empty.
OPOS_E_FAILURE Hard error (Includes the following 6 errors).
OPOS_EPTR_UNRECOVERABLE Error that cannot be recovered from.
OPOS_EPTR_CUTTER Error with the auto cutter.
OPOS_EPTR_MECHANICAL Mechanical error.