MCPcopy Create free account
hub / github.com/HelloBush/Java_MHXYdemo / Dm2Java

Class Dm2Java

src/pkgDm/Dm2Java.java:9–2605  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

7import com.jacob.com.Variant;
8
9public class Dm2Java {
10
11 //大漠变量
12 public static ActiveXComponent axc;
13 static Dispatch dm;
14
15 /**
16 * 大漠插件初始化标记
17 */
18 public static boolean isInit=false;
19 /**
20 * 大漠绑定窗口句柄
21 */
22 private int BindWindowHandle;
23
24
25 public int getBindWindowHandle() {
26 return BindWindowHandle;
27 }
28 public void setBindWindowHandle(int bindWindowHandle) {
29 BindWindowHandle = bindWindowHandle;
30 }
31
32
33
34//自定函数-----------------------------------------
35
36
37 /**
38 *大漠插件初始化
39 */
40 public static void DMInit(){
41 try{
42 ComThread.InitSTA();
43 Dm2Java.axc = new ActiveXComponent("dm.dmsoft");
44 //创建连接&调用对象Dispatch的实例
45 Dm2Java.dm = (Dispatch)Dm2Java.axc.getObject();
46 //通过Dispatch调用大漠dll中的Ver方法,并以Variant接受返回结果,此处为版本�??
47 Variant v = Dispatch.call(dm, "Ver");
48 if(v!=null)
49 System.out.println("大漠初始化成功,版本号:"+v.toString());
50 Dm2Java.isInit=true;
51 }
52 catch(Exception e){
53 System.out.println("大漠初始化失败:"+e);
54 }
55 }
56
57
58 /**大漠内存清理
59 *若出现Can't co-create object问题,可能是之前调用dll后,没有释放资源;
60 *调用safeRelease()会释放部分内存,但内存会继续增长;
61 *在调用完com组件后调用ComThread.Release()可以释放掉调用com控件时占用的内存;
62 */
63 public static void DMClear(){
64 Dm2Java.dm.safeRelease();
65 Dm2Java.axc.safeRelease();
66 ComThread.Release();

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected