看到这个标题是否觉得有些熟悉?其实是想用PB写一个COM组件~然后给用户端的程序调用。其中有F1帮助中的内容和网上收整的资料~然后整理出来。
什么是COM组件?
COM是Component Object Model (组件对象模型)的缩写,COM是一种通用的,用来描述Windows对象的二进制标准。这种标准可以包含其所描述的对象中的方法,数据能够被所有符合这一标准的程序或对象所调用。这就是说只要符合这一标准的开发工具,不论你用的编程语言是什么,都可以通过COM调用已经开发好的对象中的方法。那DLL(动态链接库)不是也有着这样的功能吗?实际上,DLL正是COM服务的一种表现形式,可以直接在应用程序中加入对DLL中函数的调用,以实现代码的重用和共享。
那关于COM组件~系统有什么条件要求?下面我引用F1帮助里的一段解释。(翻译水平不行~有错请见谅)
On platforms that support COM+, such as Windows 2000 and Windows XP, you can build COM+ applications and deploy them to COM+. On platforms that do not support COM+, such as Windows NT, but that have the required Microsoft Transaction Server (MTS) components installed, you can build COM servers and deploy them to MTS.
在Windows 2000 和 Windows XP 平台上支持COM组件,你能够创建COM+应用程序并将它们部署到COM +。Windows NT平台不支持组件,如果你要创建COM服务器并将应用程序部署到(Microsoft事务服务器),那么你必需要安装MTS。
帮助上写的还是很清楚的,但是,国内有一些PB的书写MTS是一个单独的产品,必须单独安装。并没有明确是什么平台需要安装,呵呵~看来是只译了一半,则又漏掉了一半。
MTS(Microsoft Transaction Server) 用于在程序级进行事务操作
多线程程序能够使程序的不同部分同时运行。Windows*和XP*等操作系统和许多科学应用都是多线程程序。当创建应用时,开发人员必须创建代码,以便线程能够独立运行,不互相干扰。
是微软为其Windows NT操作系统推出的一个中间件产品,由于它具有强大的分布事务支持、安全管理、资源管理和多线程并发控制等特性,使其成为在Windows平台上开发大型数据库应用系统的首选产品。
F1帮助中还明确指出了:Target wizard ,Object wizard ,Project wizard 三种向导在不同情况下的使用情况。值得注意的是当你使用COM/MTS组件 Target wizard ,Object wizard 向导生成一个新的用户对象时,这个对象与一般的用户对象是有一些区别:
对象包含两个事件,Activate and Deactivate;
并且对象具有COM/MTS的支持能力。
引用F1内容:
Application Techniques -> Developing Distributed Applications ->Chapter 26 Building a COM,MTS,or COM+ Component ->About building COM,MTS,or COM+ Component。
有兴趣的可以查看相关的内容。