Java调用dll中函数dll文件对方已提供
函数1:functionUDP_SetDoorAccountInfoStrSingle(addr:TEquip_Addr;AccountAre:BYTEIndex:WOR...
函数1: function UDP_SetDoorAccountInfoStrSingle (addr:TEquip_Addr; AccountAre:BYTE Index:WORD;Door_Account:Pchar
函数2:
function UDP_SetCardPower(var addr:TEquip_addr; CardNo: integer;DoorNo: BYTE; stateflag: BYTE):
函数3:
function UDP_ReadDoorRecordStr(addr:TEquip_Addr;var datarecord::pchar ): 展开
函数2:
function UDP_SetCardPower(var addr:TEquip_addr; CardNo: integer;DoorNo: BYTE; stateflag: BYTE):
函数3:
function UDP_ReadDoorRecordStr(addr:TEquip_Addr;var datarecord::pchar ): 展开
展开全部
先定义接口,接口中的方法与dll中的对应,然后加载dll文件,接着对应调用其中的方法即可。
例子:
加载dll如下(假设你的dll放在F盘dll目录下,名称为:abc.dll):
则:IDllInterfaces INSTANCE = (IDllInterfaces)Native.loadLibrary("F:\\dll\\abc", IDllInterfaces.class);
接着调用方法:
INSTANCE.UDP_SetDoorAccountInfoStrSingle(...);
有问题欢迎提问,满意请采纳,THX!
例子:
加载dll如下(假设你的dll放在F盘dll目录下,名称为:abc.dll):
则:IDllInterfaces INSTANCE = (IDllInterfaces)Native.loadLibrary("F:\\dll\\abc", IDllInterfaces.class);
接着调用方法:
INSTANCE.UDP_SetDoorAccountInfoStrSingle(...);
有问题欢迎提问,满意请采纳,THX!
更多追问追答
追问
我的调用dll时报错“Unable to load library”这个要怎么解决?是不是要用C制作一个dll去调用这个dll文件啊。能不能给个具体的实例!
追答
要认真阅读我上面的文字,只要对方给你提供了dll文件及api接口说明,跟C没有半毛钱关系。
例子:
public interface IDllInterfaces extends StdCallLibrary
{
public static final IDllInterfaces INSTANCE = (IDllInterfaces)Native.loadLibrary("F:\\dll\\abc", IDllInterfaces.class);
public abstract int UDP_SetDoorAccountInfoStrSingle(int paramInt, long paramLong);
public abstract int UDP_SetCardPower(int paramInt1, int paramInt2);
public abstract int UDP_ReadDoorRecordStr(int paramInt);
}
注:参数及返回值类型请根据实际接口及Jna编程规范修改。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询