我有一个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 和本机库之间出现很多问题,您可能需要更专业的帮助才能真正取得进展,这很棘手。