05.ActiveX组件

上传人:痛*** 文档编号:244030849 上传时间:2024-10-02 格式:PPT 页数:26 大小:1.08MB
返回 下载 相关 举报
05.ActiveX组件_第1页
第1页 / 共26页
05.ActiveX组件_第2页
第2页 / 共26页
05.ActiveX组件_第3页
第3页 / 共26页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,第一级,第二级,*,第五章,ActiveX,组件技术,回顾,组件对象模型(,COM),创建,ActiveX,控件类,ActiveX,控件封装属性、方法和事件,组件注册和使用,2,目标,理解组件和组件引用,编写,ActiveX DLL,组件,理解和应用组件的调试和兼容性配置,在客户端实现组件接口和事件回调,编写,ActiveX EXE,组件,设置组件的属性,3,组件和组件设计,ActiveX OCX ,公用对话框,ActiveX DLL ADO,对象,ActiveX EXE Word、Excel,4,ActiveX DLL,组件 2 - 1,ActiveX DLL,的优点,可在应用程序之间方便地共享代码;,由于此组件位于进程内,因此可提供极佳的性能;,为模块化程序设计提供了强有力的支持;,ActiveX DLL,的缺点,增加了部署应用程序的复杂性;,组件和之间的依赖性导致产品的维护成本增加;,5,ActiveX DLL,组件 2 - 2,6,创建,ActiveX DLL,组件,4 - 1,7,创建,ActiveX DLL,的方法和事件,Private,var,As String,Public,Event,AfterGreet,Public Sub Greet(),MsgBox,你好 &,var,& !,RaiseEvent AfterGreet,End Sub,创建,ActiveX DLL,组件,4 - 2,8,创建,ActiveX DLL,的属性,Public,Property Let,Myname,(name As String),var,=,UCase,(name),End Property,Public,Property Get Message,(),Message = ,这是一个,DLL,End Property,创建,ActiveX DLL,组件,4 - 3,9,调用,ActiveX DLL,的属性和方法,Dim C As New A.B,B.,MyName,= “YYY”,Call B.Greet,Debug.Print B.Message,创建,ActiveX DLL,组件,4 - 4,10,调试,ActiveX DLL,11,客户程序与组件服务的例子,12,组件对象的,Instancing,属性,Private,PublicNotCreatable,MultiUse,SingleUse,GlobalMultiUse,GlobalSingleUse,13,MultiUse,和,SingleUse,客户应用程序,1,客户应用程序,2,EXE Server Process,服务进程,对象,1,对象,2,创建了单个进程来供多个客户的各个对象使用,客户应用程序,A,客户应用程序,B,EXE,服务器进程1,EXE,服务器进程2,对象,1,对象,1,加载的组件的不同实例,14,组件兼容性设置 4 - 1,15,?,组件兼容性设置 4 - 2,使用,Implements,实现接口,使用接口的好处,接口和面向对象多态的实现,16,Server,组件,Public Function,WaitToImp,(,ByVal lngNumber,As Long),End Function,Client,Implements,clsInterface,Public Function,clsInterface,_,WaitToImp,(,ByVal lngNumber,As Long),。,End Function,组件兼容性设置 4 - 3,17,异步机制和使用接口实现异步,组件兼容性设置 4 - 4,18,注册和引用,ActiveX DLL,组件,19,ActiveX EXE,组件及特点,进程外组件,可独立执行,但同时提供组件对象服务,使用,App,对象的,StartMode,属性,远程服务组件,20,封装,ActiveX EXE,组件 4 - 1,21,服务器组件,Public Event,AsynEvent,(,ByVal strTXT,As String),Public Event,CalculateReturn,(,ByVal lngValue,As Long),Public Property Let Last(,ByVal lngValue,As Double),frmEditor,.,lblInfo,.Caption = ,计算结果是: &,CStr,(,lngValue,),RaiseEvent AsynEvent,(,CStr,(,lngValue,),End Property,Public Function,FalseCalculate,(,ByVal lngValue,As Long) As Long,frmEditor,.,MousePointer,=,vbArrowHourglass,RaiseEvent CalculateReturn,(,lngValue,),frmEditor,.,MousePointer,=,vbDefault,End Function,封装,ActiveX EXE,组件 4 - 2,22,客户程序,Private Sub,cmdCalculate,_Click(),Call Editor.,FalseCalculate,(,CLng,(,txtNum,.Text),End Sub,Private Sub Editor_,CalculateReturn,(,ByVal lngValue,As Long),此处为真正的计算,Editor.Last = g_,lngValue,End Sub,Private Sub Editor_,AsynEvent,(,ByVal strTXT,As String),Me.,lblValue,.Caption =,strTXT,End Sub,封装,ActiveX EXE,组件 4 - 3,23,使用事件实现异步回调,封装,ActiveX EXE,组件 4 - 4,客户程序请求,服务器接收,客户计算,计算结果,客户计算,计算结果,事件,事件,24,组件实例化的三种方法,自动实例化,受控实例化,CreateObject,对象绑定,早期绑定,后期绑定,对象实例化和对象绑定,25,总结,进程内组件是“动态链接库”(,DLL),或“,ActiveX,控件”(,OCX),,与调用它的客户端运行于相同的地址空间中;,进程外组件是在自己的地址空间中运行的 .,EXE,文件,,ActiveX EXE,组件是进程外组件,进程外组件同时具有标准,EXE,和组件的特征;,设计,ActiveX DLL,需要规划其类模块的属性、方法和事件,这种以组件方式提供的服务同时增强了程序的内聚和偶合;,通过使用,Visual Basic,的“版本兼容”功能,可以使组件的功能得到增强,而不会使现有应用程序出错;,使用,Implements,语句,可以向类模块添加多个接口,通过这些接口,系统可以不断扩大,而不会影响现有组件,也不需要进行大量重新编译;,服务和客户程序之间,可以通过接口和事件机制来进行异步通讯,异步执行将提高对系统资源的利用率,并且在一些应用中,服务程序可能与多个客户程序实现异步的回调;,26,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!