微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从jna或其他库访问vb.net本机dll文件的类和方法

是)我有
a)我使用过jna库.
b)我的dll是vb.net本机dll文件.
c)您可以查看此链接获取有关dll link的更多信息

我的源代码如下

接口

package com.dll.lib;

import com.sun.jna.Library;
import com.sun.jna.Native;

public interface browseControl extends Library {
    browseControl instance = (browseControl)Native.loadLibrary("Vertex FXBOAPI10.5.9",browseControl.class);
}

package com.dll.main;

import com.dll.lib.browseControl;

public class MainTest {

    public static void main(String[] args) {
        browseControl control=browseControl.instance;
            System.out.println("Brwoser: "+control.getClass());
        }  
    }

}

这段代码正在运行.

我想要的是
a)如何在java编程语言中从dll访问他们的类和方法

b)如何引用{VertexFX Backoffice API} Dll,然后定义类型为CVertexFXBOAPI类的Object,之后调用方法Object.SetLoginInfo和Object.Login

谢谢

解决方法

Yo可以通过JNI使用共享库中的本机代码. JNI提供了Java和代码间的桥梁.但是,您必须确保为本机例程保留命名约定.

在你的情况下(你想要调用本机代码的DLL)你可以通过JNI包装器来编写代码.这样,您可以保留DLL原样.

看看这里的示例代码,其中:

http://jnicookbook.owsiak.org/recipe-No-018/

这不是您正在寻找的(因为代码适用于macOS / Linux),但架构将非常相似.

你的JNI包装器(从Java调用) – 这将是一个本机代码 – 将加载你已经拥有的库(一个在其他人生成的DLL内).然后,您需要从该DLL调用一个函数.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐