没有从收据打印机获取“收据清空”情况的状态消息

时间:2013-03-15 19:47:45

标签: c# .net epson opos pos-for-.net

我正在使用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

2 个答案:

答案 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型号。