当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: le="FONT-SIZE: 9pt; COLOR: #3
 

 

    摘要: 最后让我们分析一下c:\vctestvccomproj\debug\validatecreditcardserver.tlh作为developing com components using vc-atl(3)的结尾吧。 validatecreditcardserver.tlh清单 // created by microsoft (r) c/c++ comp......
    摘要: <html><head><meta http-equiv="content-type" content="text/html; charset=gb2312"><meta name="generator" content="microsoft frontpage 4.0"><meta name="progid" content="frontp......


Developing COM Components using VC-ATL(3-3)
 

确定创建服务器组件的最有效的工具 【程序编程相关:软件生态危机

n          编写visual c++组件 【推荐阅读:利用HOOK拦截封包原理

当着手写com类时,你可以有几种选择,你可以选择用c++满足com.这种选择提供了最大的灵活性但是很枯燥.另外,你可以选择visual c++提供的两种主要的框架来写com:mfc与atl. 【扩展信息:MapObject控件的使用之符号绘制

当你着手创建com组件时,你可以选择与visual basic.delphi.mfc与atl不同的工具.让我们比较一下每个工具,来揭露它们各自的优点与缺点.

mfc使用文档视图体系结构设计良好的开发基于windows的应用程序.使用mfc设计基于windows应用程序要求运行时间库mfc42.dll来执行.当用于开发确定类型的应用程序时,mfc遇到要求大的运行时间库开销.mfc有利于像基于windows的单层应用程序.请求许多gui客户端的应用程序.activex控件与ole文档的开发.对com的支持是后来增加的并且依靠它的文档视图体系结构.虽然visual c++向导使得用mfc创建组件容易很多,但于框架结构先天设计缺陷,所以它并不是一种灵活的方法.而且,组件以体积大与要求扩展dll而告终.

相反,atl是针对com来设计的.此外,atl提供像聚合与包容不同的类合成技术的完全支持.atl使用c++模板类的多继承技术来实现com类.atl允许com组件.自动化服务器与activex控件的创建.使用atl创建的com更小更快.atl提供许多com接口的本地支持与由windows nt服务器支持的新线程模型.由于atl主要使用模板的概念,创建的组件大小很小,并且运行期dll很小并可动态加载.

所以,你应用atl创建com.

组件功能:同上(编写visual basic组件).

组件将包含以下函数:validatecreditcard.prefixcheck.lengthcheck.luhncheck.仅validatecreditcard可以被应用程序调用来封装组件的工作方式.

为了创建验证信用卡的服务器组件,你需要执行以下步骤:

1.         创建应用程序框架

启动vc++6.0,从file菜单选项选中 new 菜单项,在出现的 new 对话框中选中 projects 卡片,从显示的工程类型中选中 atl com  appwizard.指定工程工作空间名,即在 project name 编辑框中输入项目名validatecreditcardserver,以区别于visual basic组件工程validatecardserver.选择合适的 location 后,按确认按钮进入下一个对话框:atl  com  appwizard  -  step 1 of  1,在 server type 中选择 dynamic  link  library [ dll ],即进程内服务器组件.选中 support  mfc 选项.在按下 finish 与 ok 按钮后,一个组件的框架已经建立.现在让我们来看一下生成的文件的清单


...   下一页
 ·factory pattern for cao creation    »显示摘要«
    摘要: introduction how do i instance a cao object without shipping the source object? this is a question i hear often when people begin to work with cao objects. ive heard this question often enough that ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE