Как вызвать метод Dll из JSNI для использования в веб-приложении GWT?
У меня есть веб-приложение GWT.
Вызывает метод из другого класса (используя метод JSNI).
Но я хочу вызвать метод dll из этого класса... Как я могу это сделать?
public class external_class {
public native void shows()/*-{window.alert("hello");}-*/;
}
в веб-приложении GWT, вызывающем как
external_class obj = new external_class();
obj.shows();
Как я могу вызвать метод Show (), если я определил его в файле DLL? или как я могу напрямую вызвать метод DLL из приложения GWT через JSNI?
пожалуйста, дайте мне решение....
2 ответа
Нельзя вызывать DLL в GWT. GWT компилирует код Java в код Javascript, который выполняется внутри веб-браузера. Javascript не может напрямую вызывать DLL, если вы хотите что-то сделать с DLL, я советую взглянуть на плагины браузера.
В плагинах браузера вы можете включить вашу dll (только windows) и сделать так, чтобы ваш javascript вызывал этот плагин.
Мне кажется, вам нужно использовать апплет и jnlp для загрузки собственных библиотек. Оттуда вы можете обмениваться данными между GWT и апплетом, используя JSObject или библиотеку, такую как GWT-AI (лично я просто пишу это вручную, я использовал только GWT-AI несколько раз). Я считаю, что для апплета вы могли бы использовать JNA для своих привязок.
Если это не имеет смысла или звучит немного как тарабарщина, вам, возможно, придется обратиться за помощью, многое может пойти не так, переходя между java и нативными библиотеками, и вам может потребоваться более специализированная помощь, чтобы действительно добиться прогресса в этом, это сложно,