海康SDK报错Structure.getFieldOrder()
就是你调用的这个结构体以及其引用的其他结构体,可能没有getFieldOrder()的方法,你只要按照顺序把他填上去就好了。比如
public static class NET_DVR_TIME extends Structure {//校时结构参数
public int dwYear; //年
public int dwMonth; //月
public int dwDay; //日
public int dwHour; //时
public int dwMinute; //分
public int dwSecond; //秒
}
解决后:
public static class NET_DVR_TIME extends Structure {//校时结构参数
public int dwYear; //年
public int dwMonth; //月
public int dwDay; //日
public int dwHour; //时
public int dwMinute; //分
public int dwSecond; //秒
@Override
public List<String> getFieldOrder() {
return Arrays.asList("dwYear", "dwMonth", "dwDay", "dwHour", "dwMinute", "dwSecond");
}
}
注意:getFieldOrder返回的asList中参数需要按照类中定义的顺序,不然可能会赋值错误(我根据错误异常猜测的)