PrintNormal () Проблема «Не инициализировано» - PullRequest
7 голосов
/ 23 октября 2010

Текущая проблема печати C # POS.NET:

PrintNormal() Выдает исключение = 'Не инициализировано'
CheckHealth = 'Не инициализировано' Исключение 'Не инициализировано', когдаПечать в Epson TM-T88IV

Использование POS для .NET 1.12 и сервисных объектов Epson OPOS ADK для .NET (v1.11.9). Возможность успешно открывать, запрашивать и устанавливать DeviceEnabled-true для PosPrinter

Ошибка отправка чего-либо на принтер после того, как этот PrintNormal () приводит к возникновению исключения «Не инициализировано».Утилита CheckHealth, входящая в комплект Epson OPOS ADK, выдает точно такую ​​же ошибку.При использовании PrintNormal (PrinterStation.Receipt исключение составляет «Указанная станция не смонтирована».

принтер печатает нормально, используя прямой параллельный принтер, сам печатает

Как мы можем не выбросить исключение с сообщением- «Не инициализировано»?

void K8POSPrint()
{
    /// <summary>
    /// PosPrinter object
    /// </summary>
    PosPrinter m_Printer = null;
    try
    {
        //Use a Logical Device Name which has been set on the SetupPOS.
        string strLogicalName = "PosPrinter";
        try
        {
            //Create PosExplorer
            PosExplorer posExplorer = new PosExplorer();
            DeviceInfo deviceInfo = null;

            try
            {
                // Device Info is not null when the printer has the logical name
                deviceInfo = posExplorer.GetDevice(DeviceType.PosPrinter, strLogicalName);
                m_Printer = (PosPrinter)posExplorer.CreateInstance(deviceInfo);
            }
            catch (Exception ExDevice)
            {
            }

            //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.
            m_Printer.DeviceEnabled = true;
            //    ////CheckHealth.
            //m_Printer.CheckHealth(Microsoft.PointOfService.HealthCheckLevel.Interactive);
            //    //As using the PrintNormal method, send strings to a printer, and print it [\n] is the standard code for starting a new line.
            /// Current Issue Next Line thows an exception - 'It is not initialized' 
            m_Printer.PrintNormal(PrinterStation.Receipt, "Hey Now OPOS for .NET\n");
            // the next line would throw the exception 'The specified station is not mounted.'
            // m_Printer.PrintNormal(PrinterStation.Slip,"Hey Now Slip OPOS.NET\n");
        }
        catch (PosControlException)
        {

        }
    }
    catch (Exception ex)
    {

    }
}

Дополнительная информация: Программы, установленные при попытке печати на почтовом принтере:
1. Установленный драйвер принтера APD4 Epson TI88IV
APD_412EWM.exe
https://www.epsonexpert.com/ee/techRes/index.htm?ProductId=570
После этого в принтерах панели управления я могу выбрать свойства принтера и успешно распечатать тест на принтере.
2. Установлен Microsoft POS.NET 1.12
POSfor.NET.msi http://www.microsoft.com/downloads/en/details.aspx?FamilyID=eaae202a-0fcc-406a-8fde-35713d7841ca
3. Установленный Epson OPOS ADK v2.67
ADK267ER4.exe
https://www.epsonexpert.com/ee/appDev/appDevOPOS.htm
4. Установленный EPSON OPOS ADK для .NET 1.11.8
OPOSN 1 11 18.exe
https://www.epsonexpert.com/ee/appDev/appDevOPOS.htm
5. Установленные объекты общего управления OPOS 1.13.001
OPOS_CCOs_1.13.001.msi
http://monroecs.com/oposccos_current.htm
6. SetupPOS - добавлено устройство и логикаИмя Cal
7. Проверка работоспособности по-прежнему выдает ошибки Не инициализируется OPOS_E_ILLEGAL 10007 (0x00002717)

1 Ответ

0 голосов
/ 13 июля 2014

Возможно, проблема не в программном обеспечении, а в аппаратном обеспечении. Я видел аналогичный вопрос (в http://social.msdn.microsoft.com/Forums/vstudio/en-US/446fd4cc-db6b-4822-b3c8-7d9a98bf7eb4/it-is-not-initialized-when-trying-to-printnormal?forum=posfordotnet),, где разработчик использовал удлинительный кабель, который не был параллельным. Как только он подключил параллельный кабель непосредственно к принтеру (без удлинительного кабеля), его программное обеспечение работало. после того, как он позвонил в Epson и заказал более новый принтер, потому что ему сказали, что его оригинальный принтер несовместим с .NET, так что это также может стать вашей проблемой.

...