Использование класса java из Delphi

Мне нужно использовать логику, содержащуюся в некоторых классах Java. Я нашел JNI, но этот проект, похоже, недавно не обновляется.

Есть ли способ использовать его в родном приложении Delphi? Я использую Delphi 2009.

Ответ 1

Более новое решение, чем JNI, JNA, которое также поддерживает обратные вызовы из (Delphi) DLL. Я нашел его простым в использовании.

Ответ 2

Вы можете попробовать j-interop. Техника, которую я должен принять, - это создать COM-оболочку бизнес-логики Java и использовать этот COM-сервер для взаимодействия с delphi.

Delphi может создавать библиотеку типов COM-сервера, и вы можете использовать com-сервер, используя эту библиотеку. Библиотека типов - это просто оболочка сервера, отображающая его интерфейс, который будет использоваться кодом delphi.

Ключ к общению с различными программными средствами платформы называется "интероперабельностью".

Вы можете найти это также в .net и win32. Tipically delphi-код - win32 (exe или dll), и вы можете построить протокол связи между объектами delphi и узлами .net или java-байт-код, используя решения совместимости.

Ответ 3

В Java 6 для написания автономного сервера веб-сервисов требуется всего несколько строк кода, которые затем могут быть вызваны из Delphi.

небольшое пошаговое руководство, используя бесплатный NetBeans IDE и Delphi:

больше xamples:

Ответ 5

В качестве альтернативы Java Native Interface для Delphi (JNI) или JNA и полностью предвзятого ответа Java для Delphi позволяет использовать приложения Java и Delphi взаимодействовать на объектно-ориентированном уровне, используя сильно код типа, где ошибки могут быть обнаружены во время компиляции, а не во время выполнения.

Ответ 6

Я очень сомневаюсь. Код Delphi скомпилируется в исполняемый файл, тогда как Java-код выполняется виртуальной машиной. Поэтому, если вы не запустите полную виртуальную машину внутри кода Delphi, я не вижу возможности легко включать логику.