public static void main(String args[]){ try {
ComThread.InitMTA();//ComThread.InitMTA();
String progId = "SV3880-SDK";
Dispatch zkem = new ActiveXComponent(progId);
int d=Dispatch.call(zkem,"C_ServerInit",new Variant(8420),new Variant(0)).getInt();
System.out.println(d);
Thread.sleep(15000);
boolean b = Dispatch.call(zkem, "C_IsDeviceConnected",new Variant(2016042501)).getBoolean();
System.out.println("连接:"+b);
String str=Dispatch.call(zkem, "C_GetDevicesList").getString();
System.out.println("连接设备"+str);
SensorEvents events = new SensorEvents();
new DispatchEvents(zkem, events,progId);
Variant st=Dispatch.call(zkem, "C_GetDeviceTime",new Variant(2016042501));
System.out.println("设备时间"+st);
//Dispatch.call(zkem,"RegEvent",new Variant(1l),new Variant(65535l)); STA sta = new STA();
sta.doMessagePump();
System.in.read();
}catch(Exception e){
e.printStackTrace();
}
}
public class SensorEvents {
public void OnEventCConnect(Variant[] args) {
System.out.println(args[0].getString());
System.out.println(args[1].getLong());
System.out.println(args[2].getLong());
System.out.println(args[3].getLong());
System.out.println(args[4].getString());
System.out.println(args[5].getLong());
}
ComThread.InitMTA();//ComThread.InitMTA();
String progId = "SV3880-SDK";
Dispatch zkem = new ActiveXComponent(progId);
int d=Dispatch.call(zkem,"C_ServerInit",new Variant(8420),new Variant(0)).getInt();
System.out.println(d);
Thread.sleep(15000);
boolean b = Dispatch.call(zkem, "C_IsDeviceConnected",new Variant(2016042501)).getBoolean();
System.out.println("连接:"+b);
String str=Dispatch.call(zkem, "C_GetDevicesList").getString();
System.out.println("连接设备"+str);
SensorEvents events = new SensorEvents();
new DispatchEvents(zkem, events,progId);
Variant st=Dispatch.call(zkem, "C_GetDeviceTime",new Variant(2016042501));
System.out.println("设备时间"+st);
//Dispatch.call(zkem,"RegEvent",new Variant(1l),new Variant(65535l)); STA sta = new STA();
sta.doMessagePump();
System.in.read();
}catch(Exception e){
e.printStackTrace();
}
}
public class SensorEvents {
public void OnEventCConnect(Variant[] args) {
System.out.println(args[0].getString());
System.out.println(args[1].getLong());
System.out.println(args[2].getLong());
System.out.println(args[3].getLong());
System.out.println(args[4].getString());
System.out.println(args[5].getLong());
}
解决方案 »
- 多线程共亨问题
- 请问,如何学习java的IO包
- 菜鸟请大虾帮忙看一下这段代码的问题,关于Socket的
- 请问怎样可以修改系统时间?
- 关于私有方法的调用问题!
- 大家来谈谈object和record的区别吧!!!!
- 怎么简单的留取float类型后的小数位数
- 在一个以(Applet applet)为参数的构造函数中,怎样在其子类中调用这个构造函数???
- Serializable接口拿来干什么用的?举个简单例子看看?
- 归并排序出现空指向异常
- java窗体中如何让组件的位置随着窗体大小的变化而变化,dialog怎么添加最小化按钮吗
- 重入锁ReentrantLock的nonfairTryAcquire方法再次获取同步状态处理逻辑的疑问
Variant eventMask = new Variant(65535);
boolean result2 = zkem.invoke("RegEvent",v0,eventMask).getBoolean();
System.out.println("regEvent()===="+result2);
com.welinks.pojo.ZkemEvent zkemEvent=new com.welinks.pojo.ZkemEvent();
Dispatch ob =zkem.getObject();
DispatchEvents dispatchEvents=new DispatchEvents((Dispatch) ob,zkemEvent,componetName);然后,进行监听:
DispatchEvents de = new DispatchEvents(ob,zkemEvent);
STA sta = new STA();
sta.doMessagePump();
上面的代码,会自动让程序挂起,接受设备响应的数据。