首页 »VB教程 » vbactivex:VB COM基础讲座之ActiveX EXEs »正文
vbactivex:VB COM基础讲座之ActiveX EXEs
来源: 发布时间:星期四, 2009年2月12日 浏览:182次 评论:0
到现在为止  本教程  直讨论基于activex dlls中  类  内容  但是没有  本教程不介绍说明和dll相似  activex exes 所以  想在这里实际编写  个activex exe工程  事实上  它和activex dll没有太大  区别  甚至没有区别  在启动visual basic后选择\"activex exe\"就可创建  然后像以前  样构造自己  类 但这里不想再作更详细  讨论   activex exe和activex dll除了在运行时有  些微小区别外  其他都相同 它们  区别首先表现在它们  \"进程空间\"  区别  所谓\"进程空间\"是用于运行、处理和存取   块计算机内存  任何windows   如microsoft word等  都有自己  \"进程空间\"  它很像   桌面那样 当使用activex dlls工程运行时  dll是在使用它    进程空间中运行   而activex exe是在进程空间外面工作   但是  activex exe还有自己  \"桌面\"  这究竟如何理解呢? 假如  activex dll变得不稳定或意外受损时  使用它  应用  常常出现蓝屏  死机现象  而在exes中却不会发生   它有自己  \"进程空间\"  即使被破坏  也仅仅是桌面受损  当然用户  应该很好地去修复它 其次  它们  区别还表现在装载  速度上  由于dll是直接装载到已存在  进程空间  所以它  速度非常快  而exes由于还要分配自己  进程空间  所以速度上相对慢  点 上述两点区别可以说是它们真正  区别 总的  如果使用区别  windows工具来实现相应  activex组件  那么相应  工程类型就应该有所区别  例如  若使用mts  则应创建dll工程  若使用dcom  则应创建exe工程  当然  即使现在不理解这此缩写字母  含义  我们也不必担心   它们是针对高级用户   并用于com远程  工具组件  以后有机会再来给出相应  教程 这里再来分析第 2点  区别 如果现在需要创建这样   个   它不断地检测  个数据库是否有什么改变  那么我们想到  是在  中使用  些\"timer\"(计时器)  每隔10分钟激发  次并检测该数据库  但问题来了  在该进程空间  其他所有代码都要被停止运行直至数据库检测完毕 而activex exes伟大的处  就在于它有自己  进程空间  所以在其中添加  计时器也只会工作在自己  进程空间中而不会影响其他使用它    也就是说  对于前面  工程来说  若使用activex exe来检测数据库  则不会停止其他使用它    运行;即使需要从其他  中返回  个消息  也可以通过其他事件而获得 需要介绍说明  是  运行代码远离正规  而通过事件和使用  应用  会话  思路方法称为\"异步处理\"  通常当需要对e-mail或数据库作定期检查时  或当运行  个长  报表以及计算大  统计数据时  我们就需使用这种异步处理方式 不怕你惊讶  话  我们可以将前面论述  内容整理总结成这样   句话: \"activex dlls是在进程内运行  而activex exes是在进程外运行\" 好了  下  节将创建并测试  个自己  activex exe工程  并使用大家还不太熟悉  \"异步处理\"窍门技巧  然后  提出  个称为\"例子\"  有意义  概念  最后指明怎样获得更多  com知识使自己达到  个新  水平
相关文章
读者评论
发表评论
|
|