VB6.0中的Scripting.Folder声明

时间:2009-08-24 08:32:16

标签: vb6 scripting directory

要查找删除文件夹,请在我的代码中使用带有以下声明的变量“Dim Folder as Folder”。它运作良好多年。但是当突然出现“设置文件夹= fso.GetFolder(strParamPath)”行时,它会出现“类型不匹配”,我不知道为什么突然出现这个错误。所以我将声明更改为“Dim Folder as Scripting.Folder”它似乎工作。为什么它工作正常,现在它不工作?任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:7)

使用Scripting.Folder强制VB6查看Scripting类型库以查找Folder的定义。如果您只是编写Folder,VB6首先在您自己的代码中查找Folder类型或类,然后依次查看项目引用和组件对话框中的每个类型库。它将使用它找到的第一个Folder。使用Scripting.Folder更安全且没有任何缺点(请参阅手册主题ambiguous references),因此您只需要进行调查,如果您感到好奇。

可能的解释:

  • 您已经以某种方式安装了某个参考或组件的新版本,新版本包含Folder
  • 您已在自己的代码中定义了Folder类型或类。
  • 您已为项目添加了新的参考或组件。它包含Folder

Intellisense可以帮助您找出Folder的内容。输入

Dim fol As Folder

然后输入

fol.

Intellisense应该下载fol的成员列表。选择其中一个,以便Intellisense为您完成该行,类似于。

fol.foobar

现在将光标放在foobar上,然后选择View-Definition。这应该打开对象浏览器并带您到包含Folder的新定义的类型库。希望你会说“啊哈!WonderWidget!上周我将WonderWidget更新到版本59.4001!它有新的WonderWidgetFolder功能!”

答案 1 :(得分:0)

修补程序/更新可能对VB库/绑定做了些什么。但是如果没有深入研究MS已发布的每个修补程序,就无法确认:-)如果您可以将其固定到特定日期并找出在此期间安装了哪些更新,则可能会缩小范围。