Как вызвать метод 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?

пожалуйста, дайте мне решение....


person Akhil    schedule 20.06.2012    source источник
comment
Кажется, вы путаете JSNI с JNI. Хотя синтаксис похож, тот факт, что GWT компилируется в javascript и запускается на другом компьютере, делает это невозможным.   -  person LINEMAN78    schedule 21.06.2012


Ответы (2)


Вы не можете вызывать библиотеки DLL в GWT. GWT компилирует код Java в код Javascript, который запускается внутри веб-браузера. Javascript не может напрямую вызывать DLL, если вы хотите что-то сделать с DLL, я предлагаю вам взглянуть на плагины для браузера.

В плагинах браузера вы можете включить свою dll (только для окон) и заставить свой javascript вызывать этот плагин.

person Daniel Kurka    schedule 20.06.2012
comment
Могу ли я загрузить файл jar (который содержит апплет, который уже вызывает из него DLL) из моего приложения...? Или вызвать метод из апплета (который находится внутри банки), используя метод JNSI? - person Akhil; 21.06.2012

Мне кажется, что вам нужно использовать апплет и jnlp для загрузки собственных библиотек. Оттуда вы можете общаться между GWT и апплетом, используя JSObject или библиотеку, такую ​​​​как GWT-AI (лично я просто кодирую это вручную, я использовали GWT-AI всего несколько раз). Я считаю, что на стороне апплета вы можете использовать JNA для своих привязок.

Если это не имеет смысла или звучит немного похоже на тарабарщину, вам может понадобиться помощь, многое может пойти не так, если вы объедините Java и нативные библиотеки, и вам может понадобиться более специализированная помощь, чтобы действительно добиться прогресса в этом, это сложно .

person Scott Taylor    schedule 05.07.2012