相关疑难解决方法(0)

VBScript中对象的破坏顺序是什么?

.vbs中的对象以什么顺序销毁?

也就是说,给定这些全局变量:

Set x = New Xxx
Set y = New Yyy
Run Code Online (Sandbox Code Playgroud)

我对以下任何一个问题的答案感兴趣.

  1. 对于.VBS中实现的类的实例,将以什么顺序Class_Terminate调用?粗略的戳戳建议创造的顺序(而不是逆序!),但这有保证吗?

    编辑:我知道Class_Terminate将在释放对象的最后一次引用时调用.我的意思是:x和y的发布顺序是什么,是否有保证?为简单起见,假设x和y是对其各自对象的唯一引用.

  2. 对象的类型是否重要?例如,如果我在.VBS中实现的类与其他COM对象混合在一起,例如Scripting.FileSystemObject.

    编辑:我知道COM库可能会设置自己的内部循环引用,脚本主机引擎一无所知; 我有兴趣探索可能影响第一个问题答案的内容.

  3. 上述不同的答案如果x和y是Sub或Function的本地而不是全局?
  4. 是否取决于退出是正常的,例外还是通过WScript.Quit?(在后一种情况下,似乎Class_Terminate在退出之前仍然会调用任何未完成的对象,但这些可能会导致报告错误).
  5. 什么时候WScript对象被破坏?
  6. 脚本是否重要?(wscript.exe vs cscript.exe与调用Web主机引擎无关)
  7. JScript的对象销毁模型与VBScript的不同吗?

我可以凭经验找到其中一些问题的答案,但我对它们中的任何一个是否得到保证 /记录感兴趣.

即使你只知道一些答案 - 或进一步的相关问题,请发帖.

windows vbscript destructor object-lifetime

5
推荐指数
1
解决办法
1440
查看次数

标签 统计

destructor ×1

object-lifetime ×1

vbscript ×1

windows ×1