Jni отримання і підключення до jvm в delphi

  • 22.03.17 12:39 •
  • Mr_Dan •
  • # 324594 •
  • Хабрахабр •
  • 2 •
  • 857

- такий же як Forbes, тільки краще.

Всім доброго часу доби! Сьогодні розберемо приклад як отримати завантажену JVM і підключитися до неї. Потрібно нам це для того, щоб виконати всередині JVM якийсь код.Ітак, приступимо:

Створюємо новий проект DLL. Додамо Process Attach:


Відмінно, додали. Далі нас буде потрібно в Uses додати компонент JNI:

А тепер давайте реалізуємо пошук і підключення до JVM. Для цього в DllMain додамо змінні:


Далі в DLL_PROCESS_ATTACH реалізуємо пошук і підключення завантаженої JVM

Отже ми знайшли і підключилися до завантаженої JVM. Тепер можна використовувати будь-який код всередині JVM після рядки AttachCurrentThread. І в результаті ми отримуємо код DLL:


Давайте наведемо приклад як це використовувати. Припустимо, у вас є якась функція, яку ви хочете використовувати в Java.


Це просте звернення до Методу в JNI і щоб його використовувати досить помістити цю процедуру після AttachCurrentThread.


У підсумку ми отримуємо підключення до JVM і виконання в ній якоїсь процедури.

Ви можете допомогти і перевести трохи коштів на розвиток сайту

Схожі статті