您现在的位置: 中国男护士网 >> 考试频道 >> 计算机等级 >> 二级辅导 >> VB >> 辅导 >> 正文    
  VB中OLE调用的优化方法 【注册男护士专用博客】          

VB中OLE调用的优化方法

www.nanhushi.com     佚名   不详 

  VB5.0中大量使用OLE,对象的正确使用对于开发一个高效的应用程序是非常关键的。因此,笔者想谈一谈OLE调用的优化。

  一、利用WITH语句减少重复调用。

  为了设置单个对象的多个特性,可以使用WITH END WITH减少激活引用链设置特性的次数,在这种情况下,甚至不需要定义对象类型的临时对象。例如:DBEngine.WorkSpace(0).Databases(0).
  RecordSet.Fields(0).Name="jx"
  DBEngine.WorkSpace(0).Databases(0).RecordSet.Fields(0).Height="1.75"
  可以这样赋值:WITH DBEngine.WorkSpace(0).Databases(0)
  .RecordSet.Fields(0).Name="jx"
  .Height="1.75"
  END WITH
  很明显,减少了执行赋值所必须做的OLE对象查询的次数。

  二、使用可以提供的最特定的对象。

  在VB中访问任何对象的模型通常要求重复使用OBJECT.PROPERTY语句,那么这个引用链将变得很长。
  DBEngine.WorkSpace(0).Databases(0).RecordSet.Fields(0).Name
  在上面这个序列中每个点代表VB为了访问下一个元素要求的OLE查找。如果将这样一条语句放到循环中,会产生大量不必要的查找:
  例如For I%=0 TO DBEngine.WorkSpace(0).Databases(0).R
  ecordSet.Field.Count-1
  Print DBEngine.WorkSpace(0).Databases(0).RecordSet.Fi
  elds(I%).Name
  Next
  如果通过使用可用的最特定的对象类型,可以大大减少同一个
  循环的开销。程序变换如下:
  DIM X AS Fields
  DIM Y AS Field
  SET X=DBEngine.WorkSpace(0).Databases(0).RecordSet.Fi
  elds(0)
  FOR EACH Y IN X
  Print F.Name
  Next

  三、最小化跨进程OLE调用。

  OLE Automation对程序内的对象的调用总是比跨进程调用要快,如果处理可以在一个程序内完成,就会比调用另一个应用程序快。如果进行跨进程OLE Automation,一个硬输入的(DIM X AS SPECIFICTYPE)而不是“AS OBJECT”的对象会大大减少开销,因为只需一个跨进程调用。
  四、使用进程内而不是进程外的OLE服务器。进程外OLE服务器(使用MAKE EXE建立的OLE服务器)比进程内OLE服务器(使用MAKE DLL建立的OLE服务器)慢得多。

 

文章录入:杜斌    责任编辑:杜斌 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     

    联 系 信 息
    QQ:88236621
    电话:15853773350
    E-Mail:malenurse@163.com
    免费发布招聘信息
    做中国最专业男护士门户网站
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    VB中OLE调用的优化方法
    专 题 栏 目

      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)                            【进男护士社区逛逛】
    姓 名:
    * 游客填写  ·注册用户 ·忘记密码
    主 页:

    评 分:
    1分 2分 3分 4分 5分
    评论内容:
  • 请遵守《互联网电子公告服务管理规定》及中华人民共和国其他各项有关法律法规。
  • 严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论 。
  • 用户需对自己在使用本站服务过程中的行为承担法律责任(直接或间接导致的)。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表网友个人观点,与本网站立场无关。