专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »VB教程 » vbactivex:VB COM基础讲座之ActiveX EXEs »正文

vbactivex:VB COM基础讲座之ActiveX EXEs

来源: 发布时间:星期四, 2009年2月12日 浏览:117次 评论: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知识使自己达到个新水平
0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: