38 lines
1.2 KiB
Java
38 lines
1.2 KiB
Java
package com.jacob.test.atl;
|
|
|
|
import com.jacob.com.*;
|
|
import com.jacob.activeX.*;
|
|
|
|
class MultiFaceTest {
|
|
public static void main(String[] args) {
|
|
// this method has been deprecated as being unreliable.
|
|
// shutdown should be done through other means
|
|
// whoever wrote this example should explain what this was intended to do
|
|
//System.runFinalizersOnExit(true);
|
|
|
|
ActiveXComponent mf = new ActiveXComponent("MultiFace.Face");
|
|
try {
|
|
// I am now dealing with the default interface (IFace1)
|
|
Dispatch.put(mf, "Face1Name", new Variant("Hello Face1"));
|
|
System.out.println(Dispatch.get(mf, "Face1Name"));
|
|
|
|
// get to IFace2 through the IID
|
|
Dispatch f2 = mf
|
|
.QueryInterface("{9BF24410-B2E0-11D4-A695-00104BFF3241}");
|
|
// I am now dealing with IFace2
|
|
Dispatch.put(f2, "Face2Nam", new Variant("Hello Face2"));
|
|
System.out.println(Dispatch.get(f2, "Face2Nam"));
|
|
|
|
// get to IFace3 through the IID
|
|
Dispatch f3 = mf
|
|
.QueryInterface("{9BF24411-B2E0-11D4-A695-00104BFF3241}");
|
|
// I am now dealing with IFace3
|
|
Dispatch.put(f3, "Face3Name", new Variant("Hello Face3"));
|
|
System.out.println(Dispatch.get(f3, "Face3Name"));
|
|
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
}
|