2009-08-24 54 views
1

要查找刪除文件夾,在我的代碼中使用可變值,並聲明如下「Dim Folder as Folder」。它工作很好多年。但突然,當出現「Set folder = fso.GetFolder(strParamPath)」這行時,它會給出「Type mismatch」,我不知道爲什麼突然出現這個錯誤。所以我將聲明更改爲「Dim Folder as Scripting.Folder」,它似乎工作。爲什麼它工作正常,現在它不工作?誰能幫我?在VB6.0中的Scripting.Folder聲明

回答

0

這是可能的修補程序/更新已經做了一些VB庫/綁定。但是,如果沒有深入瞭解MS發佈的每個修補程序,都無法確認:-)如果您可以將其固定到某個特定日期,並找出在此間隔期間安裝的更新,則可能會縮小它的範圍。

7

使用Scripting.Folder強制VB6查看Scripting類型庫以查找Folder的定義。如果您只寫Folder,VB6首先會在您自己的代碼中查找Folder類型或類,然後在Project-References和Components對話框的每個類型庫中依次查找。它將使用它找到的第一個Folder。使用Scripting.Folder更安全,沒有缺點(請參閱手冊主題ambiguous references),因此只有在您好奇時才需要進行調查。

可能的解釋:

  • 你莫名其妙地安裝了引用或組件和新版本包含Folder的一個新版本。
  • 您已在自己的代碼中定義了Folder類型或類。
  • 您已經爲項目添加了新的參考或組件。它包含一個Folder

智能感知可以幫助您找出Folder是什麼。鍵入

Dim fol As Folder

然後鍵入

fol.

智能感知應該下拉FOL的成員列表。選擇其中的一個,以便Intellisense爲您完成該行,例如。

fol.foobar

現在穿上foobar光標,選擇查看清晰度。這應該打開對象瀏覽器並將您帶到包含Folder的新定義的類型庫。希望你會說「Aha!WonderWidget!上週我更新了WonderWidget到版本59.4001!它具有新的WonderWidgetFolder功能!」

+0

很好解釋 – Ant 2009-08-24 12:39:56

+0

是的,很可能是一個簡單的命名空間擁塞情況。 – Bob77 2009-08-24 13:32:35