JVM(jvm.dll)을 임베디딩 해서 자바 클래스를 호출하고 그 결과값을 델파이로 받겠다는 겁니다.
자바와 델파이 사이에서 데이터 타입이 다르므로 그것들의 처리와 jvm 기능들을 사용해야 함으로 dll의 함수정보(export 테이블정보)을 정리한 h파일을 pas로 마이그레이션한 파일이 필요한데 그것들을 제공하는 겁니다.
jdk 의 include 디렉토리내에 jni.h 라는 헤더파일을 델파이에서 사용할 수 있게 pas로 옮겨놓은 겁니다.
개발이 중단된 것과는 의미가 다릅니다.
첨부하신 JNIForDelphi 0.1.rar 의 qBasic 예제 잘 됩니다.
jdk 를 설치하면 시스템패스에 jvm.dll이 자동 배포 됩니다. jni.pas만 델파이 라이브러리 패스에 등록하고 예제를 실행하면 됩니다.
classpath=. 로 설정했기 때문에 실행파일의 위치가 클래스패스로 등록되며 Hello.class 를 호출할 수 있게 됩니다.
(jdk 버전을 1.6으로 설치하세요. 제공되는 jni.pas가 1.6의 것을 마이그레이션한 모양입니다.)
다만 아래의 https 문제로 jvm을 임베디딩할 목적이라면 배보다 배꼽이 더 큰 상황에 직면할 수도 있습니다.
배포의 문제가 걸리고 class는 디컴파일이 쉬우며 성능적인 이슈가 더해지게 됩니다.
서버 프로그램이라면 괜찮을 듯 싶은데 클라이언트로 배포되는 프로그램이라면 추천드리고 싶지는 않습니다.
첫눈 님이 쓰신 글 :
: http://ibeblog.com/2010/08/27/jni-for-delphi-preview/#sthash.yBpHecdL.dpbs
: http://home.pacifier.com/~mmead/jni/delphi/
: http://koti.mbnet.fi/akini/java/jni/
:
: 샘플코드까지 들어 있긴 한데 자바버젼이 구버젼이라 실행이 안되는것 같습니다.
: 개발이 중단된 것 같기도 하고....
: 어디를 수정해야 할지 모르겠구요.
: 고수님들께 조언 부탁드립니다.
:
:
|