안녕하세요...
Windows XP 에서 JBuilder7 을 사용하여 시리얼 통신 관련 프로그램을 작성하는 중 문제가 발생하여 글을 올립니다.
다름이 아니라 JBuilder7 에서 아래 소스코드(일부입니다.)에서 자꾸 실행시에 NullPointerException이 발생합니다.
그리고 NullPointerException 이전에 While 문의 조건부에서 조건이 False가 되어 NullPointerException 이 발생하는것 같습니다.
portList = CommPortIdentifier.getPortIdentifiers();
while (portList.hasMoreElements()) { <== 처음부터 False 가 됨
portId = (CommPortIdentifier) portList.nextElement();
if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {
if (portId.getName().equals("COM1")) { // Windows Platform
PORTID = portId.getName();
break;
}
}
}
try {
serialPort = (SerialPort)portId.open("Comm_Serial", 2000); <==== NullPointerException 발생부분
} catch (PortInUseException piue) {
//System.out.println(piue);
}
JDK 버전에서 위 소스코드를 컴파일하고 실행하면 전혀 문제 없이 잘 실행됩니다.
While 문 조건도 True 이며, NullPointerException 발생하지도 않습니다.
시리얼포트도 잘찾고 잘됩니다.
근데 왜 JBuilder7 에서는 컴파일하고 실행시에 NullPointerException이 발생하는지 모르겠습니다.
도움 바랍니다.
그럼 이만 줄이겠습니다
수고하세요...
|