Мне нужно использовать логику, содержащуюся в некоторых классах Java. Я нашел JNI, но этот проект, похоже, недавно не обновляется.
Есть ли способ использовать его в родном приложении Delphi? Я использую Delphi 2009.
Мне нужно использовать логику, содержащуюся в некоторых классах Java. Я нашел JNI, но этот проект, похоже, недавно не обновляется.
Есть ли способ использовать его в родном приложении Delphi? Я использую Delphi 2009.
Более новое решение, чем JNI, JNA, которое также поддерживает обратные вызовы из (Delphi) DLL. Я нашел его простым в использовании.
Вы можете попробовать j-interop. Техника, которую я должен принять, - это создать COM-оболочку бизнес-логики Java и использовать этот COM-сервер для взаимодействия с delphi.
Delphi может создавать библиотеку типов COM-сервера, и вы можете использовать com-сервер, используя эту библиотеку. Библиотека типов - это просто оболочка сервера, отображающая его интерфейс, который будет использоваться кодом delphi.
Ключ к общению с различными программными средствами платформы называется "интероперабельностью".
Вы можете найти это также в .net и win32. Tipically delphi-код - win32 (exe или dll), и вы можете построить протокол связи между объектами delphi и узлами .net или java-байт-код, используя решения совместимости.
В Java 6 для написания автономного сервера веб-сервисов требуется всего несколько строк кода, которые затем могут быть вызваны из Delphi.
небольшое пошаговое руководство, используя бесплатный NetBeans IDE и Delphi:
больше xamples:
Вставить виртуальную машину в собственный код. Это сработало для меня. Пример с c можно найти здесь. http://java.sun.com/docs/books/jni/html/invoke.html
В качестве альтернативы Java Native Interface для Delphi (JNI) или JNA и полностью предвзятого ответа Java для Delphi позволяет использовать приложения Java и Delphi взаимодействовать на объектно-ориентированном уровне, используя сильно код типа, где ошибки могут быть обнаружены во время компиляции, а не во время выполнения.
Я очень сомневаюсь. Код Delphi скомпилируется в исполняемый файл, тогда как Java-код выполняется виртуальной машиной. Поэтому, если вы не запустите полную виртуальную машину внутри кода Delphi, я не вижу возможности легко включать логику.