本帖最后由 a550330555 于 2013-04-12 09:37:21 编辑

解决方案 »

  1.   


      回fangmingshijie:    对这个调用不太理解,
        能给个案例瞧瞧嘛?怎么个这个控件调用出来?
      

  2.   

    有个Dispatch.call(disp , ……之类的方法吧,看下api
      

  3.   


    import java.awt.event.*;
    import java.applet.*;import com.jacob.com.*;
    import com.jacob.activeX.*;public class AppTest extends Applet implements ActionListener
    {
      TextField in;
      TextField out;
      Button calc;
      ActiveXComponent sC = null;
      Object sControl = null;  public void init() 
      {
        setLayout(new FlowLayout());
        add(in = new TextField("1+1", 16));
        add(out = new TextField("?", 16));
        add(calc = new Button("Calculate"));
        calc.addActionListener(this);
      }  public void actionPerformed(ActionEvent ev) 
      {
        if (sC == null) 
        {
          // create COM component in event thread
          sC = new ActiveXComponent("ScriptControl");
          sControl = sC.getObject();
          Dispatch.put(sControl, "Language", "VBScript");
        }
        // use COM component in same thread
        Variant v = Dispatch.call(sControl, "Eval", in.getText());
        out.setText(v.toString());
      }
    }
    不行的话,主页中可能有解决方案
    http://danadler.com/jacob/
      

  4.   


      原来要自己写ocx组件,还牵扯到c/c++或者VB之类的.  call里面的参数是封装好的.
      
      虽然不是俺想要的答案.但是谢谢两位!