package umessage;
import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;
public class Hello {
public static void main(String[] args) {
// TODO Auto-generated method stub
try
{
ActiveXComponent com = new ActiveXComponent("HelloDll.Hello.1");//加载com组件
Dispatch disp = com.getObject(); //得到com组件对象
//------------传出参数BSTR*----------------------------------
//Variant vaTemp = new Variant("", true); //创建Variant类型变量,传入空字符串,true代表传出参数。
//Dispatch.call(disp, "PrintRR", vaTemp);//PrintRR是函数名, vaTemp是参数
//System.out.println(vaTemp.toString()); //通过to转换各种类型。
//------------出入参数BSTR----------------------------------
//Dispatch.call(disp, "PrintWW", new Variant("hello word"));//传入字符串
//System.out.println(vaTemp.toString()); //通过to转换各种类型。
//---------------------传出参数调用,如下写法。VARIANT*-----------
Variant vaTemp = new Variant("", true); //创建Variant类型变量,传入空字符串,true代表传出参数。
vaTemp.putVariant("");
Dispatch.call(disp, "PrintFF", vaTemp);//PrintFF是函数名, vaTemp是参数
System.out.println(vaTemp.toString()); //通过to转换各种类型。
//---------------------传出参数调用,如下写法。long-----------
//Variant vaTemp = new Variant("", true); //创建Variant类型变量,传入空字符串,true代表传出参数。
//vaTemp.putVariant("");
//Dispatch.call(disp, "PrintFF", vaTemp);//PrintFF是函数名, vaTemp是参数
//System.out.println(vaTemp.toString()); //通过to转换各种类型。
//--------------------------------return---BSTR*---------------------------------
/*
//Variant vaTemp = new Variant("HELLO WORD");
//Variant vaR = new Variant();
//vaR = Dispatch.call(disp, "PrintTT", vaTemp);//PrintFF是函数名, vaTemp是参数
//System.out.println(vaR.toString()); //通过to转换各种类型。
*/
/*
Variant room = new Variant("", true); //创建Variant类型变量,传入空字符串,true代表传出参数。
Variant gate = new Variant("", true); //创建Variant类型变量,传入空字符串,true代表传出参数。
Variant stime = new Variant("", true); //创建Variant类型变量,传入空字符串,true代表传出参数。
Variant guestname = new Variant("", true); //创建Variant类型变量,传入空字符串,true代表传出参数。
Variant guestid = new Variant("", true); //创建Variant类型变量,传入空字符串,true代表传出参数。
Variant lift = new Variant("", true); //创建Variant类型变量,传入空字符串,true代表传出参数。
Variant track1 = new Variant("", true); //创建Variant类型变量,传入空字符串,true代表传出参数。
Variant track2 = new Variant("", true); //创建Variant类型变量,传入空字符串,true代表传出参数。
Variant cardno = new Variant("", true); //创建Variant类型变量,传入空字符串,true代表传出参数。
Variant st = new Variant("", true); //创建Variant类型变量,传入空字符串,true代表传出参数。
Variant breakfast = new Variant("", true); //创建Variant类型变量,传入空字符串,true代表传出参数。
Variant vaReslt = new Variant();
room.putVariant("");
gate.putVariant("");
stime.putVariant("");
guestname.putVariant("");
guestid.putVariant("");
lift.putVariant("");
track1.putVariant("");
track2.putVariant("");
cardno.putVariant("");
st.putVariant("");
breakfast.putVariant("");
vaReslt = Dispatch.call(disp, "ReadCard", room, gate, stime, guestname, guestid, lift, track1, track2, cardno, st, breakfast);//PrintFF是函数名, vaTemp是参数
System.out.println(room.toString()); //通过to转换各种类型。
System.out.println(gate.toString()); //通过to转换各种类型。
System.out.println(stime.toString()); //通过to转换各种类型。
System.out.println(guestname.toString()); //通过to转换各种类型。
System.out.println(guestid.toString()); //通过to转换各种类型。
System.out.println(lift.toString()); //通过to转换各种类型。
System.out.println(track1.toString()); //通过to转换各种类型。
System.out.println(track2.toString()); //通过to转换各种类型。
System.out.println(cardno.toString()); //通过to转换各种类型。
System.out.println(st.toString()); //通过to转换各种类型。
System.out.println(breakfast.toString()); //通过to转换各种类型。
System.out.println(vaReslt.toString()); //通过to转换各种类型。
*/
}
catch(Exception e){
e.printStackTrace();
}
//System.out.println(str);
System.exit(0);
}
}
JAVA + JACOB调用 C++ com组件
猜你喜欢
转载自blog.csdn.net/max2009verygood/article/details/81503087
今日推荐
周排行