簡體   English   中英

如何從JSNI調用Dll方法在GWT Web應用程序中使用?

[英]How to call Dll method from JSNI to use in GWT web application?

我有一個GWT Web應用程序。

它從另一個類調用方法(使用JSNI方法)。

但是我想從那個類中調用一個dll方法......我怎么能這樣做?

public class external_class {
public native void shows()/*-{window.alert("hello");}-*/;
}

在GWT Web應用程序中調用

external_class obj = new external_class();
            obj.shows();

如果我在dll文件中定義它,如何調用shows()方法? 或者如何通過JSNI從GWT應用程序直接調用dll方法?

請給我一個解決方案....

你不能在GWT中調用DLL。 GWT將Java代碼編譯為在Web瀏覽器內運行的Javascript代碼。 Javascript不能直接調用DLL,如果你想用DLL做一些事我建議你看一下瀏覽器插件。

在瀏覽器插件中,您可以包含您的DLL(僅限Windows)並讓您的javascript調用該插件。

對我而言,你需要使用Applet和jnlp來加載本機庫。從那里你可以使用JSObject或像GWT-AI這樣的庫在GWT和applet之間進行通信(我個人只需手動編寫代碼,我只使用了GWT-AI幾次)。 我相信applet方面你可以使用JNA進行綁定。

如果這沒有意義,或聽起來有點像胡言亂語,你可能需要尋求幫助,在java和本地庫之間帶來很多可能會出錯,你可能需要更專業的幫助才能在這方面取得進展,這很棘手。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM