2010-10-22 29 views
7

Current C# POS.NET In ấn Vấn đề:PrintNormal() Issue 'Nó không được khởi tạo'

PrintNormal() Ném ngoại lệ = 'Nó không được khởi tạo'
CheckHealth = 'Nó không được khởi tạo' 'Nó không phải là ngoại lệ được khởi tạo khi In tới Epson TM-T88IV

Sử dụng POS cho .NET 1.12 và các đối tượng dịch vụ Epson OPOS ADK cho .NET (v1.11.9) Có thể mở, xác nhận quyền sở hữu và đặt DeviceEnabled thành công cho PosPrinter

Phát hành gửi bất kỳ thứ gì đến máy in sau Kết quả inNormal() này dẫn đến trường hợp ngoại lệ 'Không được khởi tạo'. CheckHealth Utility đi kèm với kết quả Epson OPOS ADK chính xác cùng một lỗi. Khi sử dụng PrintNormal (PrinterStation.Receipt ngoại trừ là 'Trạm quy định không được gắn kết "

in máy in tốt sử dụng trực tiếp song song máy in tự in

Làm thế nào chúng ta có thể không ném miễn với thông điệp -. 'Nó không được khởi tạo '

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) 
    { 

    } 
} 

Thông tin bổ sung: Chương Trình cài đặt trong khi cố gắng in trên máy in pos là:
1. cài đặt APD4 Printer driver Epson TI88IV
APD_412EWM.exe
https://www.epsonexpert.com/ee/techRes/index.htm?ProductId=570
Sau khi thiết lập trong máy in bảng điều khiển Tôi có thể chọn thuộc tính của máy in & in thử nghiệm thành công máy in.
2. Cài đặt Microsoft POS.NET 1.12
POSfor.NET.msi http://www.microsoft.com/downloads/en/details.aspx?FamilyID=eaae202a-0fcc-406a-8fde-35713d7841ca
3. Cài đặt Epson OPOS ADK v2.67
ADK267ER4.exe
https://www.epsonexpert.com/ee/appDev/appDevOPOS.htm
4. Cài đặt EPSON OPOS ADK cho. NET 1.11.8
OPOSN 1 11 18.exe
https://www.epsonexpert.com/ee/appDev/appDevOPOS.htm
5. cài đặt OPOS điều khiển chung Objects 1.13.001
OPOS_CCOs_1.13.001.msi
http://monroecs.com/oposccos_current.htm
6. SetupPOS - Thêm thiết bị & logic Tên
7. Kiểm tra sức khỏe vẫn ném lỗi Nó không được khởi tạo OPOS_E_ILLEGAL 10007 (0x00002717)

+1

Tôi nghĩ rằng thử của bạn bắt làm tổ là vấn đề, bạn không nhận được vấn đề thực sự ở đây. Hãy thử xóa một số mã Thử bắt và chỉ để lại một mã. Sau đó, bạn sẽ thấy vấn đề thực sự là gì. – Rumplin

+0

Bạn có máy in OPOS có tên là PosPrinter được thiết lập không? Bạn có thể kiểm tra trong registry dưới HKEY_LOCAL_MACHINE \ SOFTWARE \ OLEforRetail \ ServiceOPOS \ PosPrinter', nên có một khóa phụ có tên 'PosPrinter'. Thiết lập máy in có trong Windows trong Máy in và Thiết bị không, nếu nó được thử gỡ bỏ? Từ những gì tôi nhớ lại nếu máy in được thiết lập trong Windows, nó sẽ không phải lúc nào cũng hoạt động trong OPOS. – Re0sless

Trả lời

0

Vấn đề có thể không phải là phần mềm, mà là phần cứng. Tôi đã thấy một câu hỏi tương tự (tại số http://social.msdn.microsoft.com/Forums/vstudio/en-US/446fd4cc-db6b-4822-b3c8-7d9a98bf7eb4/it-is-not-initialized-when-trying-to-printnormal?forum=posfordotnet), nơi nhà phát triển đang sử dụng cáp mở rộng không song song. Ngay sau khi ông kết nối cáp song song trực tiếp với máy in (không có cáp mở rộng), phần mềm của ông đã hoạt động. Đây là sau khi ông gọi Epson và ra lệnh cho một máy in mới hơn, bởi vì họ nói với ông rằng máy in gốc của ông không tương thích với .NET, vì vậy đó cũng có thể là vấn đề của bạn.

Các vấn đề liên quan