我正在使用TM U220收据打印机。我正在使用Epson OPOS ADK for .Net和Microsoft PosFor.Net来开发我的收据打印应用程序。
我正在尝试从设备获取状态信息,例如收据为空且收据接近空。但即使打印机中没有收据,我也总是获得成功的状态。
PosPrinter m_Printer; // Name of printer instance.
//Initialisation of printer.
//
m_Printer.Open();
m_Printer.Claim();
m_Printer.Enabled = true;
if(m_Printer.RecEmpty || m_Printer.RecNearEmpty)
{
//Show the status message.
}
以上代码用于测试这种情况。无论打印机中的收据条件如何,我总是将这些bool值设置为false。
请帮我解决这个问题。我是否应该采取更多行动来获取这些状态信息.POS
答案 0 :(得分:1)
尝试为m_printer对象添加事件处理程序。并尝试抓住这个块,以便您可以收到有关正在发生的事情的通知!
答案 1 :(得分:0)
Epson OPOS改变了这一点,即使在最新版本(2.80)中也是如此。 对于TM-U220型号,我使用以下内容:
启用PowerNotify
m_Printer.PowerNotify = 1
然后打印机Powerstate
Select Case m_Printer.PowerState
Case 2000 'DESCONOCIDO, NO TIENE LA CAPACIDAD, NO HACER NADA
Case 2001 'EN LINEA
Case 2002, 2003, 2004 'APAGADA 'FUERA DE LINEA 'APAGADA
msgbox "check printer"
End Select
这不适用于TM-U950型号。