Используя класс Java от Delphi

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

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

13
задан LaBracca 8 June 2010 в 13:05
поделиться

5 ответов

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

6
ответ дан 2 December 2019 в 01:20
поделиться

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

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

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

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

4
ответ дан 2 December 2019 в 01:20
поделиться

Встроить виртуальную машину в собственный код. Это сработало для меня. Пример с c можно найти здесь. http://java.sun.com/docs/books/jni/html/invoke.html

0
ответ дан 2 December 2019 в 01:20
поделиться

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

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

другие примеры:

2
ответ дан 2 December 2019 в 01:20
поделиться

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

-2
ответ дан 2 December 2019 в 01:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: