Событие кнопки на встроенной форме

Создание, использование компонентов ActiveX
Fogkch
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 11.10.2005 (Вт) 19:05

Событие кнопки на встроенной форме

Сообщение Fogkch » 14.12.2005 (Ср) 20:29

Господа!
Состряпал контрол. В нем кроме UserControla и модуля есть доп. форма, вызываемая из модуля. На форме кнопка, на кнопке событие Клик, в клике - код.
Жму на кнопку контрола, вызывается форма, а код по клику на кнопке уже в форме не отрабатывает. Как бороться?

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 15.12.2005 (Чт) 22:01

ПОставить в нужных местах MSgbox для того, чтобы узнать, какой фрагмент кода выполняется.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 16.12.2005 (Пт) 8:50

Alexanbar писал(а):ПОставить в нужных местах MSgbox для того, чтобы узнать, какой фрагмент кода выполняется.


Обычно вполне хватает дебаггера...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Fogkch
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 11.10.2005 (Вт) 19:05

Сообщение Fogkch » 16.12.2005 (Пт) 10:18

Народ! Брекпоинты наставил - вообще в событие не заходит. Кнопку не переименовывал.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 16.12.2005 (Пт) 10:50

Fogkch писал(а):Народ! Брекпоинты наставил - вообще в событие не заходит. Кнопку не переименовывал.


Ну что мы скажем не имея кода...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Fogkch
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 11.10.2005 (Вт) 19:05

Сообщение Fogkch » 16.12.2005 (Пт) 12:48

Перелепил контрол, сделал без формы, но возникла другая проблема.

***** Это код контрола после легкой кастрации
******Если переменным (напротив них куча звездочек) присваиваю

конкретные значения в мраморе в том месте, где они сейчас и находятся, то

усе работает, а обратиться к свойствам контрола, как сейчас написано то

ли не получается, но он их не видит. Как к ним обратится? Переменная

ConStr объявлена в модуле.


Const m_def_Id = 1
Const m_def_GetSQLString = ""
Const m_def_ConnectString = ""
'Property Variables:
Dim m_Id As Long
Dim m_GetSQLString As String
Dim m_ConnectString As String
Event Click()




Private Sub bQBE_Click()
RaiseEvent Click


‘тут всякое




Me.GetSQLString = crit
UserControl.Height = 0
UserControl.Width = 0
End Sub
'

Private Sub Me_InitProperties()
m_Id = m_def_Id
m_ConnectString = m_def_ConnectString
m_GetSQLString = m_def_GetSQLString
m_Enabled = m_def_Enabled
End Sub

Private Sub Me_ReadProperties(PropBag As PropertyBag)

m_Id = PropBag.ReadProperty("Id", m_def_Id)
m_ConnectString = PropBag.ReadProperty("ConnectString",

m_def_ConnectString)
m_GetSQLString = PropBag.ReadProperty("GetSQLString",

m_def_GetSQLString)
Set m_Controls = PropBag.ReadProperty("Controls", Nothing)
m_Enabled = PropBag.ReadProperty("Enabled", m_def_Enabled)
End Sub

'Write property values to storage
Private Sub Me_WriteProperties(PropBag As PropertyBag)

Call PropBag.WriteProperty("Id", m_Id, m_def_Id)
Call PropBag.WriteProperty("ConnectString", m_ConnectString,

m_def_ConnectString)
Call PropBag.WriteProperty("GetSQLString", m_GetSQLString,

m_def_GetSQLString)
Call PropBag.WriteProperty("Controls", m_Controls, Nothing)
Call PropBag.WriteProperty("Enabled", m_Enabled, m_def_Enabled)
End Sub

Private Sub UserControl_Initialize()


ConStr = m_ConnectString'********************************************
Me.Id = m_Id'*********************************************************

FormMasterName = GetFormMasterName(Me.Id)
FormSlaveName = GetFormSlaveName(Me.Id)
NameSource = GetNameSource(Me.Id)
FieldsCount = Val(GetFieldsCount(Me.Id))

End Sub

'Initialize Properties for User Control
Private Sub UserControl_InitProperties()
m_GetSQLString = m_def_GetSQLString
m_ConnectString = m_def_ConnectString
m_Id = m_def_Id
End Sub

'Load property values from storage
Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
m_GetSQLString = PropBag.ReadProperty("GetSQLString",

m_def_GetSQLString)
m_ConnectString = PropBag.ReadProperty("ConnectString",

m_def_ConnectString)
m_Id = PropBag.ReadProperty("Id", m_def_Id)
End Sub

'Write property values to storage
Private Sub UserControl_WriteProperties(PropBag As PropertyBag)

Call PropBag.WriteProperty("Id", m_Id, m_def_Id)
Call PropBag.WriteProperty("GetSQLString", m_GetSQLString,

m_def_GetSQLString)
Call PropBag.WriteProperty("ConnectString", m_ConnectString,

m_def_ConnectString)
Call PropBag.WriteProperty("Id", m_Id, m_def_Id)
End Sub

Public Property Get Controls() As Object
Set Controls = UserControl.Controls
End Property

Public Property Get GetSQLString() As String
GetSQLString = m_GetSQLString
End Property

Public Property Let GetSQLString(ByVal New_GetSQLString As String)
m_GetSQLString = New_GetSQLString
PropertyChanged "GetSQLString"
End Property

Public Property Get ConnectString() As String
ConnectString = m_ConnectString
End Property

Public Property Let ConnectString(ByVal New_ConnectString As String)
m_ConnectString = New_ConnectString
PropertyChanged "ConnectString"
End Property

Public Property Get Id() As Long
Id = m_Id
End Property

Public Property Let Id(ByVal New_Id As Long)
m_Id = New_Id
PropertyChanged "Id"
End Property

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 16.12.2005 (Пт) 13:02

Fogkch писал(а):***** Это код контрола после легкой кастрации
******Если переменным (напротив них куча звездочек) присваиваю

конкретные значения в мраморе в том месте, где они сейчас и находятся, то усе работает, а обратиться к свойствам контрола, как сейчас написано то ли не получается, но он их не видит. Как к ним обратится?


В событии инициализации контрола ты можешь инициализировать какие-то переменные, например, значениями по умолчанию. А читать свойства контрола надо явно не в этом событии, согласись...

Вставляй подобное чтение, к примеру, в конец ReadProperties.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Fogkch
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 11.10.2005 (Вт) 19:05

Сообщение Fogkch » 16.12.2005 (Пт) 15:19

Огромное спасибо. Все работает.


Вернуться в Компоненты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

    TopList