타사 COM API를 Java 응용 프로그램에 연결해야합니다. 그래서 저는 Com4j를 사용하기로 결정했습니다. 그리고 지금까지는 만족했지만, 이제는 문제가 생겼습니다.Com4J 인터페이스가 반복되는 동안 매달려있는 이유는 무엇입니까?
tlbgen
을 실행 한 후 원본 API 설명서에 따라 IEnum
인터페이스 정의를 준수하는 IAddressCollection
이라는 개체가 있습니다. 이 개체는 java.util.Iterator<Com4jObject>
을 반환하는 iterator()
함수를 제공합니다. 객체는 메시지의 모든 주소를 찾고 싶을 때 IMessage
이라는 다른 객체에서 온 것입니다. 그래서 코드는 다음과 같은 일을 기대 :
IAddressCollection adrCol = IMessage.getAddressees();
Iterator<Com4jObject> adrItr = adrCol.iterator();
while(adrItr.hasNext()){
Com4jObject adrC4j = adrItr.next();
// normally here I would handle the queryInterface
// and work with the rest of the API
}
내 문제는 내가 adrItr.next()
아무 일도 발생하지하려고 할 때, 코드가 작동하지만 중단을 중지한다는 것입니다. 예외는 발생하지 않으며 대개 작업 관리자를 통해이를 제거해야합니다. 그래서이 문제가 Com4j
과 공통점이 있는지 궁금합니다. 아니면이 문제를 처리하고 있습니까? 아니면 API에 문제가 있습니까?