欢迎来到天天文库
浏览记录
ID:33531735
大小:576.45 KB
页数:26页
时间:2019-02-26
《北大青鸟vb高级教程课件transparancy 5activex 组件技术》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第五章第五章ActiveXActiveX组件技术组件技术Version3.0回顾回顾•组件对象模型(COM)•创建ActiveX控件类•ActiveX控件封装属性、方法和事件•组件注册和使用2目标•理解组件和组件引用•编写ActiveXDLL组件•理解和应用组件的调试和兼容性配置•在客户端实现组件接口和事件回调•编写ActiveXEXE组件•设置组件的属性3组件和组件设计•ActiveXOCX——公用对话框•ActiveXDLL——ADO对象•ActiveXEXE——Word、Excel4ActiveXDLLActiveXDLL组件2-12-1•ActiveXDLL的优点–可
2、在应用程序之间方便地共享代码;–由于此组件位于进程内,因此可提供极佳的性能;–为模块化程序设计提供了强有力的支持;•ActiveXDLL的缺点–增加了部署应用程序的复杂性;–组件和之间的依赖性导致产品的维护成本增加;5ActiveXDLLActiveXDLL组件2-22-26创建ActiveXDLLActiveXDLL组件4-14-17创建ActiveXDLLActiveXDLL组件4-24-2•创建ActiveXDLL的方法和事件PrivatevarAsStringPublicEventAfterGreetPublicSubGreet()MsgBox"你好"&var&"!"
3、RaiseEventAfterGreetEndSub8创建ActiveXDLLActiveXDLL组件4-34-3•创建ActiveXDLL的属性PublicPropertyLetMyname(nameAsString)var=UCase(name)EndPropertyPublicPropertyGetMessage()Message="这是一个DLL"EndProperty9创建ActiveXDLLActiveXDLL组件4-44-4•调用ActiveXDLL的属性和方法DimCAsNewA.BB.MyName=“YYY”CallB.GreetDebug.PrintB.M
4、essage10调试ActiveXDLL11客户程序与组件服务的例子12组件对象的Instancing属性•Private•PublicNotCreatable•MultiUse•SingleUse•GlobalMultiUse•GlobalSingleUse13MultiUseMultiUse和SingleUseSingleUse客户应用程序1客户应用程序2创建了单个进程来供多个客户的各个对象使用对象1对象2EXEServerProcess服务进程客户应用程序A客户应用程序B对象1对象1EXE服务器进程1EXE服务器进程2加载的组件的不同实例14组件兼容性设置4-14-11
5、5组件兼容性设置4-24-2使用Implements实现接口•使用接口的好处•接口和面向对象多态的实现16?组件兼容性设置4-34-3’Server组件PublicFunctionWaitToImp(ByVallngNumberAsLong)EndFunction’ClientImplementsclsInterfacePublicFunctionclsInterface_WaitToImp(ByVallngNumberAsLong)。。。EndFunction17组件兼容性设置4-44-4•异步机制和使用接口实现异步18注册和引用ActiveXDLLActiveXDLL组件
6、19ActiveXEXEActiveXEXE组件及特点•进程外组件•可独立执行,但同时提供组件对象服务•使用App对象的StartMode属性•远程服务组件20封装ActiveXEXEActiveXEXE组件4-14-121封装ActiveXEXEActiveXEXE组件4-24-2’服务器组件PublicEventAsynEvent(ByValstrTXTAsString)PublicEventCalculateReturn(ByVallngValueAsLong)PublicPropertyLetLast(ByVallngValueAsDouble)frmEditor.l
7、blInfo.Caption="计算结果是:"&CStr(lngValue)RaiseEventAsynEvent(CStr(lngValue))EndPropertyPublicFunctionFalseCalculate(ByVallngValueAsLong)AsLongfrmEditor.MousePointer=vbArrowHourglassRaiseEventCalculateReturn(lngValue)frmEditor.MousePointer=vbDefaultEndFuncti
此文档下载收益归作者所有