访问Com的属性和方法时,如何降低系统的开销.
如下代码:
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
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步