50 lines
1.3 KiB
Java
50 lines
1.3 KiB
Java
package com.jacob.test.vbscript;
|
|
|
|
import com.jacob.com.*;
|
|
import com.jacob.activeX.*;
|
|
|
|
/**
|
|
* In this case the component is created and used in the same thread
|
|
* and it's an Apartment Threaded component, so we call InitSTA.
|
|
*/
|
|
class ScriptTestActiveX
|
|
{
|
|
public static void main(String args[]) throws Exception
|
|
{
|
|
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",args[0]);
|
|
// call it twice to see the objects reused
|
|
result = sC.invoke("Eval",args[0]);
|
|
// call it 3 times to see the objects reused
|
|
result = sC.invoke("Eval",args[0]);
|
|
System.out.println("eval("+args[0]+") = "+ 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();
|
|
}
|
|
}
|
|
}
|
|
|