Страница: 1 |
Страница: 1 |
Вопрос: RaiseEvent для UserDocument
Добавлено: 02.07.05 07:39
Автор вопроса: kifa
В UserDocument, который имеет название TreeView и имеется компонент TreeView - объявляю событие :
Из события компонента TreeView зажигаю свое событие:
Dim sss As String
sss = DocumentLoader(treSved.SelectedItem.Text)
RaiseEvent NodeLoader(sss)
End Sub
В модуле формы своего проекта объявляю переменную для работы с этим событием:
В данном случае TreeView - это UserDocument т.к. после объявления переменной Tree в списке (General) у меня появился раздел с данным именем и событие в списке (Declarations).
imgcboOpened.ComboItems.Add , , sDoc, 2
imgcboOpened.ComboItems.Item(1).Selected = True
End Sub
Пробывал передавать ссылку:
тогда мой проект начинает видеть Public методы,
но событие у меня почему то не срабатывает.
Помогите пожалуйста!
Ответы
Всего ответов: 14
Номер ответа: 1
Автор ответа:
kifa
Вопросов: 5
Ответов: 9
Профиль | | #1
Добавлено: 03.07.05 03:30
Если всетаки кому- о это интересно, то оказывается зажечь событие невозможно если вызываемое событие находится в ActiveX DLL. Или я ошибаюсь?
Номер ответа: 2
Автор ответа:
Nash Bridges
Вопросов: 5
Ответов: 139
Профиль | | #2
Добавлено: 04.07.05 12:22
Ошибаешься. В чем вопрос то ? У тебя не доходит до вызова события.
Номер ответа: 3
Автор ответа:
kifa
Вопросов: 5
Ответов: 9
Профиль | | #3
Добавлено: 05.07.05 00:56
Совершенно верно. В моем приложении не срабатывает событие объявленное в UserDocument(TreeView).
Номер ответа: 4
Автор ответа:
Nash Bridges
Вопросов: 5
Ответов: 139
Профиль | | #4
Добавлено: 05.07.05 01:15
Dim sss As String
' НУ И СМОТРИ ПОЧЕМУ У ТЕБЯ ТУТ НЕ ДОХОДИТ В ОТЛАДЧИКЕ
sss = DocumentLoader(treSved.SelectedItem.Text)
RaiseEvent NodeLoader(sss)
End Sub
Номер ответа: 5
Автор ответа:
kifa
Вопросов: 5
Ответов: 9
Профиль | | #5
Добавлено: 05.07.05 05:13
Dim sss As String
' НУ И СМОТРИ ПОЧЕМУ У ТЕБЯ ТУТ НЕ ДОХОДИТ В ОТЛАДЧИКЕ
sss = DocumentLoader(treSved.SelectedItem.Text)
RaiseEvent NodeLoader(sss)
End Sub
Нет, в отладчике все нормально. Событие treSved_DblClick() от начала до конца проходит без ошибок. RaiseEvent NodeLoader(sss) не вызывает ошибок. Но в самом приложении, котором объявляется объектная переменная
не срабатывает событие
imgcboOpened.ComboItems.Add , , sDoc, 2
imgcboOpened.ComboItems.Item(1).Selected = True
End Sub
Номер ответа: 6
Автор ответа:
Comanche
Вопросов: 87
Ответов: 459
Профиль | | #6
Добавлено: 05.07.05 22:36
Значит, нигде нет строчки
Номер ответа: 7
Автор ответа:
kifa
Вопросов: 5
Ответов: 9
Профиль | | #7
Добавлено: 05.07.05 23:27
Такой строчки нет. В появляющемся ObjectBrowser после инструкции New нет такого класса. Приходится делать ссылку через:
Номер ответа: 8
Автор ответа:
Nash Bridges
Вопросов: 5
Ответов: 139
Профиль | | #8
Добавлено: 05.07.05 23:39
е мое. а контейнер для этого документа Эксплорер ? ссылка не пустая ли получается ?
Номер ответа: 9
Автор ответа:
kifa
Вопросов: 5
Ответов: 9
Профиль | | #9
Добавлено: 05.07.05 23:58
Контейнер для документа WebBrowser.
Номер ответа: 10
Автор ответа:
Nash Bridges
Вопросов: 5
Ответов: 139
Профиль | | #10
Добавлено: 06.07.05 00:33
Private Sub WebBrowser1_NavigateComplete2(ByVal pDisp As Object, URL As Variant)
Set m = pDisp.Document
End Sub
Private Sub m_DblClick()
MsgBox "m_DblClick"
End Sub
вот так делай. ну поставь там проверки всякие, например, на тип pDisp.
CreateObject & getObject юзать здесь нельзя !
Номер ответа: 11
Автор ответа:
Nash Bridges
Вопросов: 5
Ответов: 139
Профиль | | #11
Добавлено: 06.07.05 00:34
да чего то я сразу не сопоставил юзердокумент и контейнер и события. башка не варит.
Номер ответа: 12
Автор ответа:
kifa
Вопросов: 5
Ответов: 9
Профиль | | #12
Добавлено: 06.07.05 01:20
Спасибо большое за помощь! Все работает. Дорогой Nesh Bridges - ты гений. И еще, где можно найти инфу по UserDocument?
Номер ответа: 13
Автор ответа:
Nash Bridges
Вопросов: 5
Ответов: 139
Профиль | | #13
Добавлено: 06.07.05 01:29
немного поправлю: Nash Bridges
MSDN видимо. только смотря наколько ты глубоко собрался туда рыть? можно и до интерфейсов дойти, только надо ли? там два или три у контрола реализуются и получается юзердокумент. интересно, зачем ты именно его хочешь использовать? из-за того, что он в эксплорере показывается на 100% площади?
Номер ответа: 14
Автор ответа:
kifa
Вопросов: 5
Ответов: 9
Профиль | | #14
Добавлено: 06.07.05 02:07
Наверное потому, что он не так много ресурсов ест и мою программу можно будет использовать на машинах 200MHz.