Hi guys,
Have any of you had experience using Microsft POS for .Net? I'm trying to print on an EPSON TM U220 POS printer. But everytime I call PosPrinter.PrintNormal, I get an error saying "It is not initialized" and that's the only info I could get. I could print on the pos printer normally (via textpad or windows test print). I just can't get it to print from my .net Code. I'm not sure if I'm missing something.
Unfortunately, I have no luck googling the error. Here's the sample code I've been using.
string strLogicalName = "PosPrinter";
PosPrinter m_Printer = null;
try
{
//Create PosExplorer
PosExplorer posExplorer = new PosExplorer();
DeviceInfo deviceInfo = null;
try
{
//DeviceCollection deviceCollection = posExplorer.GetDevices(DeviceType.PosPrinter);
deviceInfo = posExplorer.GetDevice(DeviceType.PosPrinter,strLogicalName);
// this call returns a valid object
m_Printer =(PosPrinter)posExplorer.CreateInstance(deviceInfo);
}
catch(Exception exception)
{
ChangeButtonStatus();
return;
}
//Open the device
m_Printer.Open();
//Get the exclusive control right for the opened device.
//Then the device is disable from other application.
m_Printer.Claim(1000);
//Enable the device.
bool result = m_Printer.DeviceEnabled = true;
// this call also causes the "It is not initialized" error
//string health = m_Printer.CheckHealth(HealthCheckLevel.External);
}
catch(PosControlException)
{
ChangeButtonStatus();
}
try
{
//As using the PrintNormal method, send strings to a printer, and print it
//[\n] is the standard code for starting a new line.
// ************ ERROR OCCURS HERE ************* IT IS NOT INITIALIZED
m_Printer.PrintNormal(PrinterStation.Receipt,"Hello OPOS for .Net\n");
}
catch(PosControlException exception)
{
MessageBox.Show(exception.ErrorCode.ToString());
}