Объявление Scripting.Folder в VB6.0 - PullRequest
       13

Объявление Scripting.Folder в VB6.0

1 голос
/ 24 августа 2009

Чтобы найти удаляемую папку, в моем коде используется переменная со следующим объявлением «Dim Folder as Folder». Это работало хорошо годами. Но внезапно, когда выходит за пределы строки «Set folder = fso.GetFolder (strParamPath)», это выдает «Несоответствие типов». Поэтому я изменил объявление на «Dim Folder as Scripting.Folder», похоже, оно работает. Почему он работал нормально, а теперь не работает? Кто-нибудь может мне помочь?

Ответы [ 2 ]

7 голосов
/ 24 августа 2009

Использование Scripting.Folder заставляет VB6 заглянуть в библиотеку типов сценариев, чтобы найти определение Folder. Если вы просто пишете Folder, VB6 в первую очередь ищет тип или класс Folder в вашем собственном коде, а затем просматривает каждую библиотеку типов в ваших диалогах Project-References и Components. Он будет использовать первые Folder, которые он найдет. Использование Scripting.Folder безопаснее и не имеет недостатков (см. Раздел руководства неоднозначные ссылки ), поэтому вам нужно только расследовать, если вам интересно.

Возможные объяснения:

  • Вы как-то установили новую версию одной из ваших ссылок или компонентов, и новая версия содержит Folder.
  • Вы определили тип или класс Folder в своем собственном коде.
  • Вы добавили новую ссылку или компонент в проект. Содержит Folder.

Intellisense может помочь вам выяснить, что такое Folder. Тип

Dim fol As Folder

, а затем введите

fol.

Intellisense должен выпадающий список членов следующих. Выберите один из них, чтобы Intellisense завершил для вас строку, что-то вроде.

fol.foobar

Теперь наведите курсор на foobar и выберите View-Definition. Это должно открыть Object Browser и перенести вас в библиотеку типов, которая содержит новое определение папки. Надеюсь, вы тогда скажете: «Ага! WonderWidget! И на прошлой неделе я обновил WonderWidget до версии 59.4001! У которой есть новая функция WonderWidgetFolder!»

0 голосов
/ 24 августа 2009

Возможно, исправление / обновление что-то сделало с библиотеками / привязками VB. Но, не углубляясь в каждое исправление, выпущенное MS, нет никакого способа подтвердить это :-) Если вы можете зафиксировать его на определенный день и узнать, какие обновления были установлены за прошедший период, это может сузить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...