Ошибка объекта приложения вне диапазона при инициализации устаревшего COM-надстройки VB6 для Outlook 2013
Я пытаюсь обеспечить совместимость для старого COM-надстройки VB6 для Outlook 2013. Он хорошо работает (более или менее) для каждой версии с 2002 года, но в тестировании 2013 года я получаю странную ошибку при попытке инициализации.
Как только я пытаюсь предпринять ЛЮБОЕ действие на объекте приложения Outlook, у меня появляется ошибка "09 - Subscript Out of Range". Даже что-то такое же мягкое, как приведение параметра olApp, который я привожу в класс, когда взорвется приватная переменная. Объект Application не является нулевым, это свойство богато и, казалось бы, инициализировано.
Friend Sub InitHandler(olApp As Outlook.Application, strProgID As String)
On Error GoTo ErrorExit
'If Outlook is opened without main UI (i.e. 'mailto:' HTML link)
If Explorers.Count = 0 Then Exit Sub
' BLOWS UP SO TRIED COMMENTING IT OUT AND ACCESSING PARAMETER DIRECTLY
'Set objOutlook = olApp
' ALSO BLOWS UP
Set objNameSpace = olApp.GetNamespace("MAPI")
...
Были ли какие-либо серьезные архитектурные изменения в объектной модели? Есть идеи?
1 ответ
Проблема заключалась в том, что мне нужно было установить пакет обновления 6 для VB6 и накопительное обновление.