2013-03-15 33 views
1

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

上面的代碼被用於測試這種情況。無論打印機中的接收條件如何,我總是將這些布爾值設置爲false。

請幫我解決這個問題。我是否應該採取任何更多行動來獲取這些狀態信息.POS

+0

您是否嘗試過測試'CapRecEmptySensor'以確保打印機/光驅支持'RecEmpty'方法?從文檔「如果CapRecEmptySensor屬性設置爲false,則RecEmpty的值始終設置爲false。」 – Re0sless 2013-03-16 15:27:18

+0

CapRecEmptySensor值只會變爲true。我也檢查過。 – TutuGeorge 2013-03-16 17:30:40

+0

我剛剛使用TM-T88進行了檢查,發現在以下情況下會發生這種情況(1)打開/索賠的呼叫失敗(也導致無法打印)或(2)紙蓋是打開,因爲看起來如果封面已打開,「​​RecEmpty」總是返回false,希望這會有所幫助。 – Re0sless 2013-03-19 15:39:47

回答

1

嘗試爲m_printer對象添加事件處理程序。並嘗試抓住這個塊,以便可以通知您正在發生的事情!

0

愛普生OPOS改變了這一點,即使在其最新版本(2.80)。 對於我用下面的TM-U220型號:

啓用PowerNotify

m_Printer.PowerNotify = 1 

然後讓打印機電源狀態

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模型工作。

+0

理想情況下,這應該是一個C#代碼片段,因爲這是問題所要求的。 – 2015-12-04 03:25:03