Импорт DLL-файла в java-приложение
Всем Привет,
Заранее спасибо.
У меня есть CP52OO.dll файл, который используется для связи с контроллером CP5200. DLL является 32-битной, а 64-битная dll vrsion недоступна. Поставщик не может предоставить то же самое.
Поэтому я импортировал ту же dll в проект c# на 64-битной системе и завершил работу по тестированию контроллера. Тестовая утилита работает нормально.
Теперь проблема в том, что мне нужно общаться с контроллером только с помощью java-приложения. Я попытался сгенерировать c# dll и попытался импортировать ее в java-приложение,но мне не удалось импортировать и эту dll.
Теперь я наконец пришел к выводу, что мне нужно разработать службу windows в .net с использованием кода c#, и java-приложение вызовет эту службу.
Я начал работать над сервисом windows. Между тем я хочу, чтобы некоторые лучшие подходы от мировых разработчиков, как я могу справиться с этой проблемой.
Пожалуйста, учитывайте следующие моменты при предоставлении подхода :
1] поскольку 64-битная dll недоступна, я не могу сделать свою прикладную систему java зависимой.
2] код C# работает совершенно нормально. но импорт dll C# в java-приложение также сталкивается с проблемой, так как мы не можем рассматривать c# как модуль.
3] подход должен быть надежным, не должно быть никакой зависимости от системы, время выполнения не должно быть долгим.
Что я уже пробовал:
Я перепробовал все возможные способы загрузки библиотечного файла на java. Но зависимость не может быть удалена, так как dll является 32-битной.
Garth J Lancaster
хорошо, некоторые из ваших требований немного "туманны"..
а) вы говорите, что используете 64-битную JVM, и именно поэтому вы не можете (JNA или JNI) вызвать 32-битную DLL ?
б )что такое контроллер CP5200.dll/CP5200? сколько данных передается в любом направлении, например, сколько функций выполняет CP5200.dll экспорт ?
в) не уверен, почему вы говорите об импорте dll c# в java - зачем вам нужен c# ? у вас, кажется, есть
java-программа - > (что-то) - > CP5200.dll (контроллер CP5200)
и это то самое "что - то", которое вы ищете, но добавление слишком многого в "что-то" может нарушить ваше предложение пункта 3 "надежность" / зависимости
Tejas Sawant 13
Привет Гат Джей Ланкастер,
Спасибо за комментарий.
Пожалуйста, проверьте ниже информацию о ваших запросах
a] Да, я использую 64-битную JVM и не могу импортировать 32-битную dll. Я знаю, что если я буду использовать 32-битную jvm, я могу импортировать dll-файл, но я не хочу добавлять какие-либо зависимости в приложение, как только 32-битная jvm.
b] контроллер CP5200, используемый в оборудовании светодиодных дисплеев. CP5200.dll экспорт нескольких функций для подключения, отключения, отправки текста,отправки изображения, как мудрый.
c] как я обнаружил, что не могу импортировать CP5200.dll на Яве. Затем я попытался импортировать в C#, и мне это удалось. Я успешно вызвал несколько функций, используя код C#. Поэтому я создал новую библиотеку dll C#, которая вызывает функции из CP5200.dll-да. Затем я попытался импортировать dll C# в java-проект, но не смог этого сделать. Поэтому я подумал, что могу создать одну службу windows, используя в настоящее время успешно работающий код C#. Приложение Java будет взаимодействовать с этой службой windows
Да я ищу что-то вроде
Java-приложение- & gt; C# Windows Service -> CP5200.dll
Я не уверен и не уверен в вышеприведенном подходе. Так что спрашивайте мнения и лучший подход.
Garth J Lancaster
Итак, почему " служба Windows C#"?. это еще одна зависимость не так ли
почему нет
Java-приложения --- определенная форма МПК ---&ГТ; С++ 'сервер'/'услуги -&ГТ; CP5200.dll
?
Tejas Sawant 13
Я не совсем уверен в сервисе C#, поэтому я здесь. Мне нужен хороший подход.
Не могли бы вы, пожалуйста, объяснить какую-то форму средств IPC ?