- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ActieX服务器
ActiveX服务器
专业知识库 2009-06-01 14:14:04 阅读36 评论0 字号:大中小
?
所谓服务器,就是一些应用程序或者动态链接库,它们可以被容器调用,完成特定的功能。
ActiveX服务器大体上分为三种:全服务器,小型服务器和自动化服务器。
全服务器不仅是一个ActiveX服务器,而且是一个可以独立运行的应用程序。比如Word就是这样的例子。它不但可以被其它的容器程序所调用生成服务器对象,而且它本身就是一个完整的容器程序。
?小型服务器是指该服务器不能独立运行,只有把自己包括进另一个应用程序之中才可以使用。
自动化服务器可能是最重要的一种服务器了,它和小型服务器、全服务器有很大的不同。自动化服务器是可以由其它应用程序编程驱动的组件。这种服务器提供特殊的对象、方法和属性使你可以告诉它去做什么。自动化服务器必须至少含有一个IDispatch接口。它可以有自己的界面,当然也可以不要自己的界面。自动化服务器有两种类型:进程内服务器和进程外服务器。一个进程内服务器是由一个存储在DLL中的类创建的,并由创建服务器的应用程序加载,服务器在应用程序的进程控件内运行,所有的实例共享同一代码。而一个进程外服务器在它自己的地址控件内运行,这种服务器一般建立成EXE应用程序,可以管理多个实例或者在创建每个服务器对象时启动一个EXE的新拷贝。与自动化服务器相对应的是自动化控制器,自动化控制器可以通过编程来控制自动化服务器,象我们常用的VB就是典型的自动化控制器。
接下来,我们将有重点的讨论如何定制ActiveX服务器。
定制小型服务器
这一节,我们来定制一个小型服务器,并且以一个EXE应用程序来生成。它是可以内嵌于容器的,在容器中,它将画一个圆,圆的位置可以用鼠标点击来调整。如图13.1,把该服务器插入到写字板中,这里插入了三次,三个圆处于不同的位置。当要调整其位置时,可以双击服务器对象,激活它,然后用鼠标左键点击,这时,圆将在新的位置重新画出。
?? 1生成基本框架
从VC的主窗口中选择File菜单下的New 菜单项,打开Projects标签,选择MFC AppWizar d(EXE)项目,设置正确的路径(Location)和项目名称,我们这里在Project name编辑框中填入MiniServer,如图13.2。
按下OK按钮,进入第一步,在这里,我们只简单的选择单文档Single Document即可,如图13.3。
按下Next按钮。在第二步中,如果没有特殊的要求,不需要作任何改变,再次按下Next按钮。
小型服务器的运行情况
建立MiniServer项目
选择单文档
接下来出现的第三步是最重要的,在这里我们要选择所建立的服务器的类型,确保选中Mini-Server复选框,如图13.4,这表明我们使用的复合文档类型是小型服务器。在前面定制ActiveX容器时,我们曾经选用的是Container选项。同时,在这里,你同样可以选择全服务器(Full-Server)、容器-服务器(Both Container and Server)等。你还可以选择你的服务器是否支持自动化(Automation)或者ActiveX控件(ActiveX Controls)。在这里,我们只是演示如何构建一个小型服务器,不打算支持自动化,在后面的自动化服务器一节会作更为详细的介绍。
选择小型服务器
按Next进入第四步,在这里,我们修改一些高级的选项,按下Advanced…按钮,则会弹出Advanced Options对话框,如图13.5。在File type ID编辑框中填入MiniServer.Document,这个字符串作为一个标示,当客户应用程序(client application)使用该服务器时,它会使用该标示来创建服务器对象或者存取服务器对象的接口。在Filetype name编辑框内填入MiniServer Demo,该字符串将显示在标准的插入对象对话框的对象类型列表框内(你可以在Word或者写字板等容器程序中找到)。最后,按Close按钮,退出当前的高级选项对话框。
高级选项对话框
现在已经完成了必要的设置,下面的接受默认值,选择Finish,退出MFC AppWizard(EXE)向导。
2分析MFC向导生成的代码
让我们看一下MFC向导生成了哪些重要的类和文件。
1、MiniServer.h
这个文件定义了类CMiniServerApp,在这个类中,多出了一个重要的成员变量:
COleTemplateServer m_server这个变量是类COleTemplateServer的对象,一个服务器应用程序中支持的服务器文档必须对应一个COleTemplateServer对象。
2、MiniServer.cpp
这是类
您可能关注的文档
- 2017宏微观经济考点精编与试题汇总.doc
- 2017年-018年上学期小学教学工作总结.doc
- 2017大商法高频试题精品排版小抄.doc
- 2017年中央电大《电子政》期末考试复习小抄版.doc
- 2017年中央电大建设规期末复习题库及答案小抄.doc
- 2017年互联网+创业创新公司年终总结暨新年工作划PPT背景模板.pptx
- 2017年互联网“线上渠道”合运营实施方案策划书.ppt
- 2017年中央电大计算机网考品题库及答案.doc
- 2017年商贸公司新年工作计PPT模板(彩色总结汇报).pptx
- 2017年央电大专科《经济法律基础》期末试题复习及答案.doc
- 人教版九年级英语全一册单元速记•巧练Unit13【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit9【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit11【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit14【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit8【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit4【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit13【单元测试·基础卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit7【速记清单】(原卷版+解析).docx
- 苏教版五年级上册数学分层作业设计 2.2 三角形的面积(附答案).docx
- 人教版九年级英语全一册单元速记•巧练Unit12【单元测试·基础卷】(原卷版+解析).docx
文档评论(0)