Web开发中,Com对象被应用的方式有几种?
在web的开发中,遇到了一个需要应用Com对象的task,我本人对此了解甚少,故特来请教各位。
通过VS.NET的添加,我们能够在工具箱的组件栏目上看到已经添加的Com组件,直接拖拉到web页面,该Com组件仅仅以<object>对象存在,在后台无法操纵,难道只有在javascript或者vbscript中直接操纵一种方式吗?
是不是还要别的使用方式?
求教!

解决方案 »

  1.   

    谢谢楼上,忘了这种方式,还有没有别的方式?这和web页面中的<object>有什么区别?
      

  2.   

    还是没有头绪,目前使用是一个可以播放视频流的Com组件,在web页面直接拖拽过去就可以显示其外观属性,显示为<object>对象,好像要操纵该对象只有用脚步语言。在代码文件(*.cs)中,通过引用可以声明一个对象,但该对象却没有外观,即无法在页面显示。能否帮我继续分析?多谢!
      

  3.   

    前期绑定和后期绑定,
    前则直接引用;
    后者:
    //调用com
    Type objAddType=Type.GetTypeFromProgID ("MerPayment.Payment");
    //建立com的实例
    object obj=Activator.CreateInstance(objAddType);
    //设置OIMsgGen方法的参数
    object[] myArguments={Merchant_id,Trans_id,Cur_code,amount,Trans_datetime,Trans_re,url,Merchant_cert,Merchant_key,pin,Bank_cert};
    //调用com的OIMsgGen方法
    objAddType.InvokeMember("OIMsgGen",System.Reflection .BindingFlags.InvokeMethod,null,obj,myArguments);
    //调用com的retOI属性
    sResult=objAddType.InvokeMember("retOI",System.Reflection .BindingFlags.GetProperty,null,obj,null);
                //调用com的oiMsg属性
    stroiMsg=objAddType.InvokeMember("oiMsg",System.Reflection .BindingFlags.GetProperty,null,obj,null);
      

  4.   

    可以在一个htm文件中直接写该对象:
             document.write("<OBJECT ID=\"VACtrl1\" WIDTH=200 HEIGHT=180");
    document.write(" CLASSID=CLSID:70EDCF63-CA7E-4812-8528-DA1EA2FD53B6");
    document.write(" CODEBASE=\"VitaminCtrl.cab#version=1,0,0,2\">");
    document.write("<PARAM NAME=\"ClickEventHandler\" VALUE=\"1\">");
    document.write("<PARAM NAME=\"WheelEventHandler\" VALUE=\"true\">");
             document.write("<PARAM NAME=\"ReadSettingByParam\" VALUE=\"true\">");
             document.write("<PARAM NAME=\"Url\" VALUE=\"/cgi-bin/control.cgi\">");
            document.write("<PARAM NAME=\"BitmapFile\" VALUE=\"http://192.168.1.88/TradMark-16I.bmp\">");
            document.write("<PARAM NAME=\"ServerModelType\" VALUE=\"1\">");
    document.write("</OBJECT>");也可以通过添加组件的方式,选中该Com组件,然后把该组件拖拉到web页面。
    通过引用————可以——————
    糊涂了
      

  5.   

    “ActiveX控件是COM组件的特殊类型,COM组件支持一组特殊的接口,以提供图形化的特征。”这是引用一本权威书上的原话。不过我感觉很奇怪的是,我所用的显然不是ActiveX,但为何可以通过脚本语言直接操纵?并且通过拖拽也可以显示出该COM的图像在web页面上,只不过以<object>状态。
      

  6.   

    只要组件实现了IDispatch接口就可以被脚本语言操作你既然是要在web页面上使用,就只能使用脚本了