![](/img/trans.png)
[英]I'm not able to access Visual Basic DLL methods in Java code using JNA
[英]How to access DLL methods in Java code using JNA?
通过运行System.loadLibrary("myAPI")
,我验证了DLL文件“ myAPI.dll”可以成功加载到我的Eclipse Java项目中。 现在,我需要从Java代码中调用此DLL文件中指定的方法。 为此,我将JNA添加到我的Java项目中。 然后,我编写了下面给出的代码片段,该片段应能够获取IProject
和ProjectFactory
类的实例(在DLL文件中指定)。
我仍然不知道如何使用JNA正确实现这一点。 我检查了不同的线程,例如, 这个线程,但是我检查的线程没有提供答案。 非常感谢您的帮助。 谢谢。
import com.sun.jna.Library;
import com.sun.jna.Native;
public class MyClass {
public interface myAPI extends Library {
//...
}
void LoadProj() {
myAPI api = (myAPI) Native.loadLibrary("myAPI",myAPI.class);
String fileName = "xxx.sp";
IProject project; // this is wrong but shows what I am trying to do
try {
project = ProjectFactory.LoadProject(fileName);
}
catch (Exception ex) {
MessageBox.Show(this, ex.Message, "Load failure");
}
}
}
如果此DLL中没有隐藏Java类或Java源代码(这很奇怪),则它将永远无法以这种方式工作。 您不能实例化C#类或使用C#接口。 MessageBox.Show(
也不是Java,它是Windows窗体代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.