访问Com的属性和方法时,如何降低系统的开销.
2006-01-30 09:39
369 查看
如下代码:
holiday.bar.fox.qa = holiday.bar.fox.ac(1)
If holiday.bar.fox.ka = holiday.bar.fox.abc Then ....
下面是代码的执行步骤:
(1)变量holiday被解析为全局变量。
(2)变量bar 被解析为holiday的成员。一次Com的方法调用。
(3)变量fox 被解析为holiday.bar的成员。又一次Com的方法调用。
(4)变量ac被解析为holiday.bar.fox的成员。又一次Com的方法调用。
(5)调用holiday.bar.fox.ac(1)
(6) 再次执行步骤(1)至(3)以解析qa.系统并不知道调用ac是否改变对象模型,因此
必须再次执行步骤(1)至(3)以解析qa.
(7) 将qa解析为holiday.bar.fox的成员,赋值.
(8) 再次执行步骤(1)至(3) 以解析ka.
(9) 再次执行步骤(1)至(3) 以解析abc.
这样一来,效率相当差.
以VBScript写此代码的快速方法是:
Set myobj = holiday.bar.fox '仅解析变量一次.
myobj.qa=myobj.ac(1)
If myobj.ka =myobj.abc Then ...
如果用VBScript 5.0 以上版本,还可以使用With 语句,如下:
With holiday.bar.fox
.qa=.ac(1)
if .ka=.abc Then ...
End With
holiday.bar.fox.qa = holiday.bar.fox.ac(1)
If holiday.bar.fox.ka = holiday.bar.fox.abc Then ....
下面是代码的执行步骤:
(1)变量holiday被解析为全局变量。
(2)变量bar 被解析为holiday的成员。一次Com的方法调用。
(3)变量fox 被解析为holiday.bar的成员。又一次Com的方法调用。
(4)变量ac被解析为holiday.bar.fox的成员。又一次Com的方法调用。
(5)调用holiday.bar.fox.ac(1)
(6) 再次执行步骤(1)至(3)以解析qa.系统并不知道调用ac是否改变对象模型,因此
必须再次执行步骤(1)至(3)以解析qa.
(7) 将qa解析为holiday.bar.fox的成员,赋值.
(8) 再次执行步骤(1)至(3) 以解析ka.
(9) 再次执行步骤(1)至(3) 以解析abc.
这样一来,效率相当差.
以VBScript写此代码的快速方法是:
Set myobj = holiday.bar.fox '仅解析变量一次.
myobj.qa=myobj.ac(1)
If myobj.ka =myobj.abc Then ...
如果用VBScript 5.0 以上版本,还可以使用With 语句,如下:
With holiday.bar.fox
.qa=.ac(1)
if .ka=.abc Then ...
End With
相关文章推荐
- WinXP系统如何设置串口?xp系统设置COM端口参数的方法
- 从脚本如何访问方法 / 属性是容器
- VB6 中如何访问C# Dll 中的方法、属性以及事件
- 【iOS开发-25】UIDevice查看系统信息,从一个问题开始如何快速找到自己想要的属性和方法并看懂它
- windows系统如何访问国外google等网站的方法之一
- VB6 中如何访问C# Dll 中的方法、属性以及事件
- 使用System.getProperty方法,如何配置JVM系统属性
- iOS开发UIDevice查看系统信息,从一个问题开始如何快速找到自己想要的属性和方法并看懂它
- 使用System.getProperty方法,如何配置JVM系统属性
- 黄聪:DEDECMS织梦系统共如何添加自定义属性和修改方法
- 使用System.getProperty方法,如何配置JVM系统属性 (转载)
- layer如何关闭以及父页面如何访问IFRAME页面的JS方法属性
- 使用System.getProperty方法,如何配置JVM系统属性
- ADF 如何访问页面模块中的方法与属性
- 如何实现Windows系统Users组用户可修改IP属性和限制Users组用户访问文件的权限!
- 【Windows系统如何跟踪IP地址的方法介绍】
- 如何做好系统集成测试【二、了解你的被测系统-信息收集方法】
- 如何在aodv协议中访问node的各项属性
- ognl表达式访问普通属性和静态方法
- windows系统下,Java访问共享文件夹的方法