Почтовое окно Outlook 2003 зависает при нажатии кнопки «Отправить» - PullRequest
0 голосов
/ 26 апреля 2011

Я разработал надстройку для Outlook 2003 с VSTO + VS 2008.

Существует приложение VB 6, которое создает экземпляр почты Outlook, прикрепляет к нему документ и показывает его отправляемому пользователю.

Когда пользователь нажимает кнопку «отправить», почтовое окно замирает.Это происходит только на производственных машинах.

Код VB6 выглядит следующим образом:

Private Sub Command1_Click()

Dim objOlApp As New Outlook.Application
Dim objMailItem As Outlook.MailItem
Dim objAttachments As Attachments
Dim arrFilesToAttach(1) As String

    Set objOlApp = New Outlook.Application
    Set objMailItem = objOlApp.CreateItem(olMailItem)
    Set objAttachments = objMailItem.Attachments

    arrFilesToAttach(0) = Text1.Text

    For l = 0 To 0
        strTemp = arrFilesToAttach(l)
        If strTemp <> "" Then
            objAttachments.Add arrFilesToAttach(l)
        End If
    Next

    objMailItem.Display True

    Set objOlApp = Nothing
    Set objMailItem = Nothing
    Set objAttachments = Nothing
End Sub

Чтобы узнать, не является ли это моим дополнением, создает проблему.Я создал простую надстройку для Outlook и добавил некоторый код файлового ввода-вывода в событие запуска Внутри блока try ... catch.Я отключил предыдущее дополнение и установил этот новый пример дополнения.

Результат был неожиданным, пример дополнения тоже создавал проблему.Это изменяет LoadBehaviour в реестре на 2 для примера надстройки.Блок try ... catch не перехватывает исключение.Я добавил обработчик для undoledException Appdomain, но он также не запускается.

Пожалуйста, помогите ... Заранее спасибо.

1 Ответ

1 голос
/ 27 апреля 2011

Если outlook изменяет поведение нагрузки на 2 для вашего надстройки, это обычно означает, что что-то в этом надстройке дает сбой во время загрузки, а outlook отключает его.

есть все + виды + причин, по которым надстройка можетошибка при загрузке (отсутствие ссылочных dll, прав и т. д.), так что это одна проблема.

Чтобы определить, зависает ли ваше дополнение над процессом отправки, просто отключите добавление (например, установите loadbehavior равным 0).На самом деле не нужно создавать пример надстройки для этого.

Если что-то работает правильно, если ваш надстройка отключена, но не работает с ним, вполне вероятно, что-то не так в надстройке.

При этомто, что я делаю, это начинаю «выпускать» куски кода.

Я имею в виду, что я начинаю комментировать точки входа (или комментировать все точки входа и раскомментировать только по одной за раз).

Например, если что-то происходит в событии Startup, закомментируйте его, перекомпилируйте и протестируйте.Если нет ошибок, удалите комментарий и прокомментируйте что-нибудь еще выше по цепочке.

Я также склонен использовать много журналов (обычно с Log4Net, но вы можете использовать что-нибудь действительно).

...