WEB开发网
开发学院软件开发VC COM 组件设计与应用(六)——用 ATL 写第一个组件(... 阅读

COM 组件设计与应用(六)——用 ATL 写第一个组件(vc.net)

 2006-07-22 22:56:14 来源:WEB开发网   
核心提示: 1、你会STL吗?可以用 STL 中的 string 代替;2、自己写个 MyString 类,嘿嘿;3、悄悄地、秘密地、不要告诉别人(特别是别告诉微软),COM 组件设计与应用(六)——用 ATL 写第一个组件(vc.net)(2),把 MFC 中的 CString 源码拿过来用;4、使

1、你会STL吗?可以用 STL 中的 string 代替;

2、自己写个 MyString 类,嘿嘿;

3、悄悄地、秘密地、不要告诉别人(特别是别告诉微软),把 MFC 中的 CString 源码拿过来用;

4、使用 CComBSTR 类,至少也能简化我们字符串操作;

5、直接用 API 操作字符串,反正我们大家学习 C 语言的时候,都是从这里干起的。(等于没说,呵呵)

支持 COM+ 1.0 支持事务处理的 COM+ 功能。COM+ 也许在第 99 回介绍吧。

三、添加 ATL 对象类

步骤3.1:菜单"项目\添加类..."(或者用鼠标右键在 项目中弹出菜单"添加\添加类...")并选择 ATL 简单对象。见图三。

图三、选择建立ATL简单对象

除了简单对象(只实现了 IUnknown 接口),还可以选择“ATL控件”(ActiveX,实现了10多个接口)......可以选择的组件对象类型很多,但本质上,就是让向导帮我们默认加上一些接口。在以后的文章中,陆续介绍吧。

步骤3.2:增加自定义类 CFun(接口 IFun) ,见图四。

图四、填写名称

其实,我们只需要输入简称,其它的项目会自动填写。没什么多说的,只请大家注意一下 ProgID 项,默认的 ProgID 构造方式为“项目名.简称名”。

步骤3.3:填写接口属性选项,见图 五。

图五、接口选项

线程模型 COM 中的线程,我认为是最讨厌,最复杂的部分。COM 线程和公寓的概念,留待后续介绍。现在吗......大家都选"单元"(Apartment),它代表什么那?简单地说:当在线程中调用组件函数的时候,这些调用会排队进行。因此,这种模式下,我们可以暂时不用考虑同步的问题。(注1)

上一页  1 2 3 4  下一页

Tags:COM 组件 设计

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接