海康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");
        }
	}

image

注意:getFieldOrder返回的asList中参数需要按照类中定义的顺序,不然可能会赋值错误(我根据错误异常猜测的)

posted @ 2024-07-05 15:57  echo_lovely  阅读(37)  评论(0编辑  收藏  举报