Ошибка объекта приложения вне допустимого диапазона при инициализации устаревшего надстройки COM VB6 для Outlook 2013

Я пытаюсь обеспечить совместимость старого VB6 COM-надстройки для Outlook 2013. Он работал нормально (более или менее) для каждой версии с 2002 года, но при тестировании 2013 года я получаю странную ошибку при попытке инициализации.

Как только я пытаюсь выполнить ЛЮБОЕ действие с объектом Outlook Application, я получаю сообщение об ошибке «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")

...

Произошли ли какие-либо серьезные архитектурные изменения в объектной модели? Любые идеи?


person RyanMac    schedule 11.12.2013    source источник


Ответы (1)


Проблема заключалась в том, что мне нужно было установить пакет обновления 6 для VB6 и накопительное обновление для развертывания.

person RyanMac    schedule 12.12.2013