锐英源软件
第一信赖

精通

英语

开源

擅长

开发

培训

胸怀四海 

第一信赖

当前位置:锐英源 / 视频下载 / 锐英源软件开发培训免费讲座:COM组件开发引导系列,出自微软MSDN开源力量,结合锐英源出众英语翻译,C++面向对象思想升华首选
视频简介
这里提供COM视频下载,找COM老师也请找锐英源,有COM开发外包找锐英源,有18年开发经验,11年教学和英译经验。锐英源也提供专业COM培训,面向个人和企业都可开展。
编程视频教学能够直观地传播教师的教学成果,锐英源视频有以下突出特点:
1、结合工作经验:把我们带团队带刚毕业学生的经验融合进来,使学生学过后就有实际动手和开发能力。
2、结合开源项目:融合国外专家先进经验,增强学员理解能力和拓展视野。
3、先科普再底层:使基础不好的初学者能够轻松接受。
4、知识点和学习方法并重:怎样建立学习过程来学知识,有直观引导。
5、培养解决问题的思路:加入设计思路和软件工程,引导解决实际问题。
现在市面上有大量的编程视频,但是根本没有讲解大型实例的视频,也无和工作要求贴近的实例的视频,锐英源的视频注重此方向,学过锐英源的大型实例视频后对大型代码能理解,在理解能力基础上,修改下实例代码就能用在工作上。其它培训机构的老师根本难以达到锐英源孙老师在开发、教学和英译融合后的擎天境界。
服务方向
软件开发技术服务
软件开发培训
计算机英语翻译
联系方式
固话:0371-63888850
手机:138-0381-0136
Q Q:396806883
微信:ryysoft
COM开发引导免费讲座大纲和下载
摘要和简介

1.1.1 Abstract摘要

The Microsoft Component Object Model (COM) borrows a key part of its architecture from standard implementations of C++. This article uses an existing project written in C++ and turns it into a component-based design that runs the object in a separate process, leveraging the COM infrastructure provided natively on all newer Microsoft operating systems. The focus is on explaining and deducing why and how features are implemented in COM, providing a robust, portable, and transparent model for distributed component software.

COM借用了C++标准实现的关键部分。本文以现有的C++项目为基础,转换这些项目到COM环境下,实现运行和进程分离,扩充了COM架构,现在COM架构在所有新的微软操作系统上运行了。本文关注于解释和演绎在COM里特性是什么且怎样,关注为分布式组件软件提供的健壮、可移植和模块透明特性。

1.1.2 Introduction简介

The idea for this technical article arose from a deep frustration about the apparent complexity of COM and OLE, as they are presented in the OLE Design Specification and in many later publications. After having studied these publications and the online documentation many times, I finally understood how everything fit together. This, in turn, illuminated how COM supplies a great foundation for safe and robust interaction among objects.考虑到COM和OLE技术复杂性是众所周知的,学习会遇到挫折,而本文就是基于此考虑来编写的,OLE和COM的复杂点在OLE设计规格和很多随后出版物里都有描述。我把这些出版物理解后,用本文来描述COM是怎样提供一个强大的基础来实现安全和可靠的组件交互。

Once I understood the basic structure of COM and how it interacts with and supports objects, I realized that it would have been very helpful if, from the beginning, the specification and product documentation had clearly separated the COM discussions from the implementation of OLE features. Also, being a person who needs to understand a system from the "bottom up," this separation would have made OLE much easier to learn. This approach for explaining OLE and COM is now taken more frequently; for example, the new edition of Kraig Brockschmidt's Inside OLE does a very good job of explaining each of the technologies separately.一旦我理解了COM的基本架构和它怎样支持对象及和被支持对象怎样交互,我就意识到它将会非常有帮助作用,前提是从开始时,规格和产品文档已经清楚地做到了从OLE特性实现到COM讨论的隔离。同样,如果想从“底层”理解一个系统,这样的隔离将会让OLE容易学习。为了解释OLE和COM,这个方法经常被采用;比如,新版本的“Inside OLE”独立地完美地解释了每个技术。

Before his book was available, I was asked to give a class on COM and OLE. For this class I implemented, among other things, a code sample that explains all the design features of the basic COM architecture by turning a simple object and its client, implemented in C++, first into a standard Windows® dynamic-link library (DLL) architecture and then into a COM object. In this environment, C++ objects just communicate directly in their own "language." [In fact, in my personal opinion this technology will sooner or later (probably later) replace the current way in which DLLs interface to the outside world (through exported entry points, that are bound at load time), although COM currently needs a few standard entry points using conventional DLL technology. Objects could receive a parameter to their standard entry point—that is, a pointer to the “Operating System Object”—and access all the functionality through this object, using only COM Interfaces (window creation, file access, and so on). Device drivers could be COM objects, managed (dispatched?) by the operating system.]在他的书面市前,我被请求写章关于COM和OLE的类。为了实现这个类,在其它事情中,一个用C++编写的代码例子,先是放到标准的DLL里,接着再把它放到COM对象里,这个例子包含了简单的对象和它的客户端,这个例子解释了基本COM架构的所有设置特点。在这个环境里,C++对象只是直接用“自己的语言“进行了通信[实际上,在我看来,这个技术迟早会代替现在的DLL机制(通过导出点,在加载时绑定),尽管COM当前需要一些使用通常DLL技术的标准入口点。对象以标准入口点函数来接收一个参数—这个点指向“操作系统对象”—且在只用COM接口(窗口创建,文件存取等等)情况下,通过这个对象访问了所有函数。设备驱动也可能是COM对象,由操作系统管理(分派)]

I originally used the Microsoft Foundation Classes (MFC) to create a project to accompany this article, consisting of a main directory and several subdirectories. For ease of use, this has been split up into eight samples, each associated with a major heading in this article. You may want to incorporate all the step-by-step changes into a single directory, or you may copy each sample to a new directory to keep the original version for reference. If you choose to copy the sample, you will need to change the references to certain files to point to the new directory, because Visual C++® will not always update them correctly.我起初用MFC来创建演示本文档的工程,工程里包含主目录和几个子目录。为了易用性,共用8个例子来演示,每个例子有各自的主题思想。你可能想合并所有步骤里的文件到一个独立的目录,或者拷贝每个例子到新目录下来进行参考。如果你选择拷贝,你需要修改几个文件对于新目录的引用,因为VC++不会总是正确更新目录。

The project uses MFC, but only to implement a fairly reasonable application and user interface framework. All COM-related features are implemented in straight C++ without MFC, and they can be passed to any other framework or to an application implemented directly to Win32®. The (trivial) implementation of the object's functionality also takes advantage of MFC's array and string management features, but this can easily be replaced.这个工程使用了MFC,但是只是实现了几个合乎要求的应用程序和几个接口框架。所有的COM相关技术以纯C++方式实现,没有用MFC,他们能放置到其它框架下直接使用,也可以移植到Win32方式工程下直接使用。对象的函数的实现同样利用了MFC的数组和字符串管理特性,但是这些可以容易地替换掉。

The project is written using the Microsoft Visual C++ 2.2 development environment and provides projects for Intel®-based Windows NT™ or Windows 95 platforms. For the last sample, which illustrates the use of remoted custom interfaces, you will need the MIDL compiler that comes with the Win32 Software Development Kit (SDK).这个工程用VC2.2编写。为了使用最新的例子,这个例子演示了使用远程定制接口,你需要MIDL编译器,MIDL在SDK里(在VC6里有集成的)。

I assume that you have a working knowledge of the C++ language, especially the concepts of virtual functions and abstract base classes. To follow my explanations on exports and related topics, knowledge of Windows DLLs is advantageous, although not essential for understanding the structure of COM.我假定你精通C++,特别是虚函数概念和抽象类。也需要掌握DLL知识。

  
友情链接
版权所有 Copyright(c)2004-2021 锐英源软件
公司注册号:410105000449586 豫ICP备08007559号 最佳分辨率 1024*768
地址:郑州市金水区郑州大学北校区院(文化路97号院)内