2016-10-17 12 views
0

CK71 ATEX Intermec 스캐너 용 바코드 판독기를 구현하려고합니다. 운영 체제는 이며 Windows Embedded Handheld 6.5이고 JVM은 phoneME Personal Profile입니다. ITCScan failed to load. java.lang.UnsatisfiedLinkError: no ITCScan.dll in java.library.pathJava Intermec ITCScan을로드하지 못했습니다.

가 어떻게이 오류를 해결할 수 있습니다 : 나는 내가 다음과 같은 오류를 얻을 수 아래의 코드를 실행하면 DC_Java_WM6_Armv4i.cab (참조 사진)

enter image description here

를 설치 했습니까?나는 모든 것을 시도했다.

이전에는 CreME JVM을 사용하고 있었고 모든 것이 잘 작동하고있었습니다. 30 일 평가판이 만료되었을 때 CreME를 포기했습니다.

/* 
* BarcodeSample.java 
* 
* COPYRIGHT (c) 2004 INTERMEC TECHNOLOGIES CORPORATION, ALL RIGHTS RESERVED 
*/ 

import java.awt.*; 

import com.intermec.datacollection.*; 


/** 
* This sample demonstrates using the BarcodeReader class to 
* read barcode data into a text field. 
*/ 
public class BarcodeSample extends Frame implements BarcodeReadListener 
{ 
    BarcodeReader bcRdr; 
    TextField txtFieldData; 
    Button btnClose; 
    Label labelStatus; 

    public BarcodeSample(String aTitle) 
    { 
     super(aTitle); 
     initComponents(); 

     try 
     { 
      bcRdr = new BarcodeReader(); 
      bcRdr.addBarcodeReadListener(this); 
      // Starts asynchronous barcode read 
      bcRdr.threadedRead(true); 
     } 
     catch (BarcodeReaderException e) 
     { 
      System.out.println(e); 
      labelStatus.setText(e.getMessage()); 
      //***** 
      //* Since m_labelStatus was not initialized with text, 
      //* doLayout() is required on some platforms in order 
      //* to show the new label text for the first setText() 
      //* call. 
      //***** 
      doLayout(); 
     } 
    } 

    private void initComponents() 
    { 
     setLayout(new FlowLayout()); 
     txtFieldData = new TextField(20); 
     add(txtFieldData); 
     btnClose = new Button("Close"); 
     add(btnClose); 
     labelStatus = new Label(); 
     add(labelStatus); 

     btnClose.addActionListener(new java.awt.event.ActionListener() 
     { 
      public void actionPerformed(java.awt.event.ActionEvent e) 
      { 
       exitApp(); 
      } 
     }); 
     btnClose.addKeyListener(new java.awt.event.KeyListener() { 
      public void keyPressed(java.awt.event.KeyEvent e) { 
       if (e.getKeyCode() == java.awt.event.KeyEvent.VK_ENTER) 
       { 
        exitApp(); 
       } 
      } 
      public void keyReleased(java.awt.event.KeyEvent e) {} 
      public void keyTyped(java.awt.event.KeyEvent e) {} 
     }); 
    } 

    /** 
    * This method is invoked when the BarcodeReadEvent occurs. 
    */ 
    public void barcodeRead(BarcodeReadEvent aBarcodeReadEvent) 
    { 
     /** 
     * Uses EventQueue.invokeLater to ensure the UI update 
     * executes on the AWT event dispatching thread. 
     */ 
     final String sNewData = aBarcodeReadEvent.strDataBuffer; 
     EventQueue.invokeLater(new Runnable() { 
      public void run() { 
       // Displays the scanned data in the text field 
       txtFieldData.setText(sNewData);    
      } 
     }); 
    } 

    public void exitApp() 
    { 
     if (bcRdr != null) 
      bcRdr.dispose(); // Release system resources used by BarcodeReader 
     setVisible(false); 
     dispose(); // Dispose the frame 
     System.exit(0); 
    } 

    public static void main(String[] args) 
    { 
     final BarcodeSample asyncReader = 
      new BarcodeSample("Barcode Sample"); 
     asyncReader.addWindowListener(new java.awt.event.WindowAdapter() 
     { 
      public void windowClosing(java.awt.event.WindowEvent e) 
      { 
       asyncReader.exitApp(); 
      }; 
     }); 

     asyncReader.setVisible(true); 
    } 
} 

답변

0

나는 마침내 그것을 가지고 : 여기

255#"\Program Files\pMEA PP\bin\cvm.exe" "-Xopt:stdioPrefix=\My Documents,useConsole=false" -cp "\My Documents\Trasabilitate.jar;\My Documents\DataCollection.jar" myProject.MainClass 

는 전체 코드입니다 :

를 .lnk 파일의 내용 (대신 myProject.MainClass의 물론 실제 이름입니다) 작업. 내 자바 경로가 (뭔가가 링크에 발생하는 경우 아래에 게재됩니다) 니펫 here을 사용하던 것을 발견 :

Properties p = System.getProperties(); 
Enumeration keys = p.keys(); 
while (keys.hasMoreElements()) { 
    String key = (String)keys.nextElement(); 
    String value = (String)p.get(key); 
    System.out.println(key + ": " + value); 
} 

을 그리고 어디서 자바 폴더 내 ITCScan.dll을 추가했다. library.path가 내 경우에는 (설정 \의 ProgramFiles \ PMEA PP \ 빈.

이 가장 우아한 해결책 경우 나도 몰라하지만. 그것은 언젠가 누군가를 도움이됩니다 희망 작동합니다.