⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scripttestactivex.java

📁 Very Nice library for using ActiveX controls directly from java without heavy knowledge of JNI, simp
💻 JAVA
字号:
package com.jacob.test.vbscript;

import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.ComException;
import com.jacob.com.ComThread;
import com.jacob.com.DispatchEvents;
import com.jacob.com.Variant;
import com.jacob.test.BaseTestCase;

/**
 * In this case the component is created and used in the same thread and it's an
 * Apartment Threaded component, so we call InitSTA.
 * <p>
 * May need to run with some command line options (including from inside
 * Eclipse). Look in the docs area at the Jacob usage document for command line
 * options.
 */
public class ScriptTestActiveX extends BaseTestCase {
	public void testActiveXScript() {
		ComThread.InitSTA(true);
		DispatchEvents de = null;

		try {
			String lang = "VBScript";
			ActiveXComponent sC = new ActiveXComponent("ScriptControl");
			sC.setProperty("Language", lang);
			ScriptTestErrEvents te = new ScriptTestErrEvents();
			de = new DispatchEvents(sC, te);
			if (de == null) {
				System.out
						.println("null returned when trying to create DispatchEvents");
			}
			Variant result;
			result = sC.invoke("Eval", getSampleVPScriptForEval());
			// call it twice to see the objects reused
			result = sC.invoke("Eval", getSampleVPScriptForEval());
			// call it 3 times to see the objects reused
			result = sC.invoke("Eval", getSampleVPScriptForEval());
			System.out.println("eval(" + getSampleVPScriptForEval() + ") = "
					+ result);
		} catch (ComException e) {
			e.printStackTrace();
		} finally {
			Integer I = null;
			for (int i = 1; i < 1000000; i++) {
				I = new Integer(i);
			}
			System.out.println(I);
			ComThread.Release();
			ComThread.quitMainSTA();
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -