我用vc做了一个invisible的activex control,在script里面能够生成这个ctrl,但是一调用任何方法/属性就出错:意料外的方法或属性调用。[不完全是这样,基本这个意思]。但是vb中可以正常使用。Why呢?

解决方案 »

  1.   

    你是在WEB页中吗?我在WEB页中也出现个这个问题。
    先试试默认的AboutBox接口,如果这个都不行,就是WEB中根本没运行该控件。
    (虽然会显示该控件)。试试降低IE安全级别。
      

  2.   

    用记下方法试试
    1.将调用控件方法的SCRIPT写在一个函数中如:
    <SCRIPT LANGUAGE="JAVASCRIPT">
    function init()
    {
        var ctrl = document.all("你控件的ID");
        ctrl.方法();
    }
    </SCRIPT>2.在<body>标签中加入OnLoad="setTimeout('init()',10"
    如<body OnLoad="setTimeout('init()',10)">我也碰到过类似的问题,我就是用该方法解决的
      

  3.   

    to freeshoot:
    我的安全级别没改,会提示是否允许,我选允许是可以生成对象的,另外,AboutBox项目我在向导的时候就没选上to ismezy:
    回头我试一下,现在不是自己的机器...我是用var obj = new ActiveXObject("MyDLL.MyCtrl.1")来生成的对象。也许确实是要用uuid来先在html里面定义ctrl?怎么做没有窗体的呢?
      

  4.   

    如果vb6下能用,别的地方就不会有问题的!你就看看你的ie设置有什么问题了!
      

  5.   

    to ismezy:
    <object>不能生成那个控件,不会是因为我设的invisible吧?....to wangweixing2000:
    安全级别设了最低,还是不能生成
    <object ...>
    无法生成控件
    </object>结果就是“无法生成控件”
      

  6.   

    不要用ActiveXObject这个函数,使用HTML <OBJECT>标记
    我经常碰到前者不可以,后者可以的情况,但是原因不明
      

  7.   

    结果还是没解决这个问题。
    我重新做了project,atl,dual interface,现在可以调用了...算是解决了吧,哎...