如何从 JSNI 调用 Dll 方法以在 GWT Web 应用程序中使用



我有一个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 文件中定义了 show() 方法,如何调用它?或如何通过 JSNI 直接从 GWT 应用程序调用 DLL 方法?

请给我一个解决方案....

不能在 GWT 中调用 DLL。GWT将Java代码编译为在Web浏览器中运行的Javascript代码。Javascript 不能直接调用 DLL,如果你想用 DLL 做点什么,我建议你看看浏览器插件。

在浏览器插件中,您可以包含您的dll(仅限Windows),并让您的javascript调用该插件。

对我来说

,看起来你需要使用Applet和jnlp来加载本机库。 从那里,您可以使用JSObject或像GWT-AI这样的库在GWT和小程序之间进行通信(我个人只是手动编写,我只使用过GWT-AI几次)。 我相信对于小程序方面,您可以使用 JNA 进行绑定。

如果这没有意义,或者听起来有点像胡言乱语,您可能需要寻求帮助,在 java 和本机库之间出现很多问题,您可能需要更专业的帮助才能真正取得进展,这很棘手。

最新更新