打印本文 打印本文 关闭窗口 关闭窗口
关于在VB中进行COM组件的开发(一、了解COM)
作者:武汉SEO闵涛  文章来源:敏韬网  点击数764  更新时间:2009/4/23 18:59:09  文章录入:mintao  责任编辑:mintao

关于在VB中进行COM组件的开发(一、了解COM)

   

这是关于VB中学习COM的文章,我在这里发表一下我的学习经验.在我进行开发的过程中,经常用COPY的方法,来重用自己的代码.,如果在一处地方有修改,就不得不在每个重用代码的地方进行一次修改.自从学习了对象编程,就以后也没有再用COPY的方法.对象编程和COM编程我觉得是差不多的.只是COM里面可以含有许多类的定义.从现在开始,让COM成为你写VB CODE中的亲密朋友吧.COM就像平时我们所使用的控件一样,是已经编译好的代码,可以独立于某个应用程序发布.它的中文全称“组件对象模型”.常见的有activexdll,activex exe,activex控件,activex文档等.首先要清楚组件概念,组件是一些独立的程序,像VB中的FUNCTION和SUB,每个组件里面包含听代码负责完成一项功能,把大问题分成小问题来解决的方法,组件之间通过接口来相互访问,接口提供例如函数的参数、返回值等信息.供其它组件调用.对象是一个类的实例,一旦对象建立,想访问对象的内部数据必需调用对象的接口.COM是基于客户和服务器模型的.建立对象实例的程序称为客户端,对象类似服务器,可接收和处理各种来自客户的请求.客户端和服务器组件对象的交流通过三种方式分别是调用对象的属性、方法、事件(以后介绍如何建立一个类中介绍).还有一个名称叫DCOM,它是在COM上面添加了网络协议,COM对象在远程的计算机上运行,运行环境会自动确认访问远程象是否允许访问,在WINDOW注册表中存放有帮助COM运行环境定位并COM对象 ,这样COM对象运行好象在本地发生一样,运行的性能部分取决于网络环境.

 

   常见的COM的储存文件有扩展名为Exe,Dll,ocx .EXE文件中存放载入内存以便运行的代码和加载的基地址信息,程序在此基地址上加载,如果此基地址不能加载就会另觅新的加载地址.DLL文件是包含多个程序中共享的各种函数和子程序的集合.这些程序可以是进程内例程,如ACTIVEX DLL只有此地址空间里面才能访问,也可以是进程外例程,如ACTIVEX EXE,要访问不同的地址空间,需要使用操作系统的调度技术.

 

 

    运行了一个程序把运行代码,运行所需的运行库加载进一个进程的地址空间里,通过CPU线程执行这些代码,现在我们使用的操作系统能在单CPU的硬件环境上,通过有效快速分配CPU的时间点,实现”多线程”技术,也就是说一个进程空间里面有多个执行线程.其实真正一个时间点上只有一个线程被启动.一个进程实线了多线程,它由一个主管线程和多个一般线程组成.线程有这样一个显著的特点:每个线程都能访问进程内的资源和自己的堆栈、CPU储存值.而且各个线程是独立运作的.

 

 

  在不同的进程和线程之间传递请求,在COM中使用是很经常的事情,WINDOWS管理这些请求叫调度,例如,要访问网络上别一计算机的一进程空间的地址的数据,就是通过进程调度,其过程实现如下:调用线程把请求发送到目标机算机上的进程中的主管线程,主线程接到请求,进行处理后,返回数据给调用线程,调用线程再返回给用户,这样的方式就像同一进程地址访问一样了.

  

   

 

 

打印本文 打印本文 关闭窗口 关闭窗口