еще одна проблема, которую я не могу понять, еще раз. Я получаю пользовательские права, ранее добавленные моим кодом в MailItem. Я в настоящее время тестирования с прогнозом 2010 года, это так же просто, как иНевозможно получить значение из прогноза ItemProprieties: Не удалось выполнить операцию
Dim mailIndex
For mailIndex = objFolder.Items.Count To 1 Step - 1
Dim property1
Set property1 = GetMigrationProperty(objFolder.Items(mailIndex).ItemsProprieties)
'... code goes on
Next
После второй итерации цикла, property1.Value является «Operation Failed», и это вызывает исключение. Зачем?
PS: У меня есть эта проблема, так как я изменил тип петли из Для каждого Ань инвертирования для
Кроме того, если вы звоните GetMigrationProperty более чем один раз, кэшировать значение коллекции item.ItemsProprieties и магазина это в локальной переменной. Сбросьте его обратно на север в конце петли. –
Я вижу, это действительно работает. Могу ли я спросить, почему важно выпустить объект объекта после каждого цикла? Если я правильно понимаю, объект items содержит ссылку на mailItem, если мы не выпустим его, эта ссылка будет заменена другой на следующей итерации. Почему это важно и как это может вызвать проблемы? Я из фона SharePoint/C#, поэтому это выглядит странно для меня. – Machinegon
Если вы используете многоточечную нотацию, интерпретатор/компилятор создает неявные переменные для хранения промежуточных переменных, и вы не можете явно получать или освобождать эти переменные. Они освобождаются, когда они выходят из области видимости в сценарии VB или всякий раз, когда GC чувствует себя в C#/VB.Net. Эта проблема намного более глубока в языках .Net по сравнению с VB-скриптом. –