优化之路:精简VB中的分段应用程序(上)

2008-04-09 04:43:32来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  VB提供了一种新方法来设计应用程序的体系结构,以代替单一的整体执行程序。它包含一个核心前端执行程序,并由许多ActiveX部件来支持。这种方法有以下几个显著优点:

  1.部件可在需要时加载,不需要时卸载。

  2.在Win95或WinNT下,即使应用程序的其他部分为16位部件,跨进程的部件也可以是32位的执行程序。

  3.远程部件可使用网络上其他机器的资源。

  另外,部件可被单独调试并可在其他应用程序里重用。在确定如何使用分段技术来优化应用程序之前,必须估计到能创建的部件类型和怎样适合应用程序。使用VB专业版和企业版,能创建以下三类部件:

  1.跨进程部件

  2.进程内部件

  3.远程部件

  三种类型并不互相排斥,可以在一个应用程序里同时使用这三类部件,但从优化应用程序的观点看,它们又各有极不相同的特性。

  一、跨进程部件是一个可执行程序,它可向其他程序提供服务,像其它的可执行程序一样,启动后,在自己的进程空间有自己的堆栈。因此,当客户使用应用程序提供的对象时,操作将从客户的进程空间转到部件的进程空间。

  与其他类型相比,跨进程部件提供了一些很有价值的特点:

  1.异步操作(“线程”)。

  2.部件不能捕获的错误不会导致调用应用程序崩溃。

  3.可在16位和32位应用程序之间相互操作。

  从优化观点看,第一点和第三点最有意义。因为跨进程部件是一个分离的程序,可以与作为客户端的部件异步操作。它有一个单独的“线程”,与客户程序构成多任务(从技术角度上讲,这不是线程,而是一个分离的进程;但从概念上看,二者等价)。两个程序可相互通讯并共享对象。在应用程序执行一些费时的操作时,异步操作就特别有用。客户可先调用部件执行该项操作,而后继续响应用户。

  即使惯用的16位应用程序或部件在32位系统上运行,也可以不必立即将它们改为32位。若使用跨进程部件将应用程序分段时,则可将16位和32位部件混合在一起并互相协调。这有助于充分利用32位部件特性,并保护在16位部件上的投资。

  考虑它们所有的能力,跨进程部件都有一个明显的缺点:性能。以下几点可显现这些不足:

  1.启动速度慢

  2.跨进程调用的开销大

  跨进程部件是一个由VB创建的执行程序,因此,与应用程序的启动相关的问题也同样存在。当从另一个VB程序中调用在VB中写的跨进程部件时,几乎所有的支持DLL已经被加载,这就大大缩短了启动部件的时间。许多部件比VB应用程序的平均规模还小,它们具有很少或根本没有要加载的窗体,这又进一步缩短了加载时间。然而,跨进程部件启动还是要比进程内部件慢。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Visual Basic.NET中访问数据的方法

下一篇:VB6.0设计真正实用的TreeView控件