У меня есть надстройка, которая содержит DLL и элемент управления OCX, встроенный в VB6.Каждый из них является отдельным, это означает, что надстройка состоит из Addin.DLL и Addin.OCX.Надстройка использует пользовательскую форму, которая построена на основе формы IPM.Appointment в Outlook.Он развертывается на компьютере пользователя в виде файла OFT и публикуется в его библиотеке Presonal Forms в начальном OnConnection надстройки.
У меня были проблемы с застреванием формы в отключенном состоянии, что потребовало от меня добавления кода, подобного следующему, к классу AppointmentItem Write и PropertyChange:
Private Sub AppointmentItem_PropertyChange(ByVal name As String)
On Error GoTo ErrorHandler
Select Case name
Case "MessageClass"
Dim strGuid As String
' Check to see if this is one of our appointmentitems.
If IsItemUserItem(AppointmentItem_PropertyChange, strGuid) Then
' Change to our add-in message class. IPM.Appointment.XXX
AppointmentItem.MessageClass = gFormMsgClass
End If
End Select
done:
Exit Sub
ErrorHandler:
Trace "Error writing appointment item."
Resume done
End Sub
Это работает длябольшинство случаев.Тем не менее я все еще сталкиваюсь с случаями, когда при проверке элемента во время события NewInspector, если это исключение, я не могу получить доступ к UserProperties, которые используются для облегчения обмена данными между DLL и OCX.
Кроме того, при попытке отредактировать форму в конструкторе форм я не могу сохранить форму как OFT из Outlook 2007. Я немного растерялся из-за того, что происходит с этим ...помощь приветствуется.