Здравствуйте.
Имеется COM объект (не контрол) ObjectTest.
В нем реализован Method — MethodTest и Event (Connection Point) — EventTest
Пишу в VB следующий код
Dim ObjT As New ObjTest
Private Sub Command1_Click()
Dim str1 As String
str1 = "1234567890"
ObjT.MethodTest str1, 10 'это работает нормально
End Sub
Private Sub ObjT_EventTest(InStr As String) 'а сюда не попадаем
MsgBox InStr
End Sub
Смотрел в отладчике COM объект — в функции EventTest количество соединений nConnections = 0
Значит EventTest должен быть как-то подключен.
Все то же самое для контрола работает, правда функция обработчик создается автоматом (при двойном щелчке по контролу).
Вопрос: как это сделать для объекта?
Здравствуйте, Nik_Nik, Вы писали:
N_N>Здравствуйте.
N_N>Имеется COM объект (не контрол) ObjectTest.
N_N>В нем реализован Method — MethodTest и Event (Connection Point) — EventTest
N_N>Пишу в VB следующий код
N_N>N_N>Dim ObjT As New ObjTest
N_N>Private Sub Command1_Click()
N_N> Dim str1 As String
N_N> str1 = "1234567890"
N_N> ObjT.MethodTest str1, 10 'это работает нормально
N_N>End Sub
N_N>Private Sub ObjT_EventTest(InStr As String) 'а сюда не попадаем
N_N> MsgBox InStr
N_N>End Sub
N_N>
N_N>Смотрел в отладчике COM объект — в функции EventTest количество соединений nConnections = 0
N_N>Значит EventTest должен быть как-то подключен.
N_N>Все то же самое для контрола работает, правда функция обработчик создается автоматом (при двойном щелчке по контролу).
N_N>Вопрос: как это сделать для объекта?
Private WithEvents ObjT As New ObjTest
Здравствуйте, DarkSid, Вы писали:
DS>Private WithEvents ObjT As New ObjTest
Огромное спасибо. Помогло.
Правда New в этой строчке не должно быть.
Здравствуйте, Nik_Nik, Вы писали:
N_N>Здравствуйте, DarkSid, Вы писали:
DS>>Private WithEvents ObjT As New ObjTest
N_N>Огромное спасибо. Помогло.
N_N>Правда New в этой строчке не должно быть.
Это я машинально код скопирвал