zoukankan      html  css  js  c++  java
  • ActiveX控件开发总结

    创建ActiveX工程:

    可以使用VC建立MFC工程或者ATL工程来进行ActiveX控件开发。使用MFC方式建立,系统会自动实现一些ActiveX控件必须的接口,开发人员只需关注业务就可以了;使用ATL方式建立,开发人员需要实现十几个COM接口(ActiveX实际上是COM的一种),需要对COM有一定的了解。但是使用MFC方式,最后发布的安装包要包含引入了的MFCDLL(视频控件引入了两个,总共3M左右),会导致安装包会比ATL方式大一点。

    1MFC方式

    使用MFC方式创建ActiveX工程比较简单,只要选择了MFC ActiveX工程,之后都按系统下一步就可以了。

     

    2ATL方式

    使用ATL方式创建,没有仔细研究过,待补充。

    调试ActiveX工程

    可以使用两种方式调试ActiveX控件:ActiveX测试容器或者IE,建议使用IE作为调试工具,因为ActiveX测试容器有些地方和IE不太一样,而且实际使用是嵌入到IE中使用的。

    1、使用ActiveX控件测试容器

    可以使用系统自带的ActiveX测试容器来进行调试,调试时选择自己的ActiveX控件名,即可打开创建的工程。



    2、使用IE

    也可以使用IE来进行调试,需要自己先创建一个包含了此ActiveX控件(通过CLSID指定)的HTML文件,调试时指定参数为此文件。


    HTML文件内容如:

    <BODY>

    <OBJECT ID="NVS_VAE" CLASSID="CLSID:c8cd5ebc-817b-401f-ab06-05cc55c8d9ee">

    </OBJECT>

    </BODY>

    其中ID可以随便定义CLASSID是与创建的ActiveX工程中自动生成的ID保持一致在创建工程的×××Ctrl.cpp

    // 初始化类工厂和guid

     

    IMPLEMENT_OLECREATE_EX(CNVS_VAECtrl, "NVS_VAE.NVS_VAECtrl.1",

                           0xc8cd5ebc, 0x817b, 0x401f, 0xab, 0x6, 0x5, 0xcc, 0x55, 0xc8, 0xd9, 0xee)

    注:使用IE8的话,默认是多线程,不支持ActiveX控件的调试,可以修改如下注册表,来支持调试

    Windows Registry Editor Version 5.00

    [HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]

    "TabProcGrowth"=dword:00000000

    JavaScrip调用ActiveX控件中的对外方法

    页面可以通过JavaScript调用ActiveX控件中的方法与控件进行交互:

    1、传入参数

    <BODY>

    <OBJECT ID="NVS_VAE" CLASSID="CLSID:c8cd5ebc-817b-401f-ab06-05cc55c8d9ee">

    <PARAM NAME="lInitFacePara" VALUE="0">

    </OBJECT>

    </BODY>

    2、调用方法

    通过getElementById 方法,传入控件ID(比如前面的MyPostItCtrl),来调用ActiveX控件中提供的接口(假定StartRealVideoActiveX中提供的对外接口)

     <SCRIPT   language=JScript>

       function test()

       {

            document.getElementById("MyPostItCtrl").StartRealVideo (“摄像机ID”,”码流ID”);

       }

     </SCRIPT>

    男人就是责任!
  • 相关阅读:
    文件上传之 MultipartFile
    EL表达式从数组 Map List集合取值
    Servlet监听器
    分页技术框架(Pager-taglib)学习三(pager-taglib中传递参数时中文乱码问题)
    分页技术框架(Pager-taglib)学习二(SSH数据库分页)
    分页技术框架(Pager-taglib)学习一(页面分页)
    从request获取各种路径总结
    jsp的页面包含——静态包含、动态包含
    Java对象的浅克隆和深克隆
    Java序列化与反序列化学习(三):序列化机制与原理
  • 原文地址:https://www.cnblogs.com/snben/p/2701096.html
Copyright © 2011-2022 走看看