Вызов процедуры события

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

Вызов процедуры события

Сообщение KPEATOP » 30.07.2009 (Чт) 8:21

У меня в модуле формы есть процедура события:
Private Sub mKVDCalc_Click()
.............
end sub

Можно ли ее вызвать из процедуры другого модуля формы ? Если можно, то как ?
Заранее сенкс.
Вечность пахнет нефтью

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Re: Вызов процедуры события

Сообщение dr.MIG » 30.07.2009 (Чт) 8:23

Можно. Изменить Private на Public и вызвать ИмяДругогоМодуляФормы.mKVDCalc_Click.
Salus populi suprema lex

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Вызов процедуры события

Сообщение Денис » 30.07.2009 (Чт) 8:38

Private на Public заменить не получится, среда не даст.
Надо сделать метод-обертку:

Код: Выделить всё
Public Sub ClickKVDCalc()
    mKVDCalc_Click() 'И вызываешь приватную процедуру...
end sub


затем уже, как доктор сказал: ИмяДругогоМодуляФормы.ClickKVDCalc()
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

Re: Вызов процедуры события

Сообщение KPEATOP » 30.07.2009 (Чт) 8:59

Я не совсем понял. Процедуру Public Sub ClickKVDCalc() где размещать ? В модуле той формы, где расположена процедура Private Sub mKVDCalc_Click() ?
Вечность пахнет нефтью

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Re: Вызов процедуры события

Сообщение ANDLL » 30.07.2009 (Чт) 9:07

Private на Public заменить не получится, среда не даст.
И долго ты это сочинял?
Автор - просто замени слово private на public
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

Re: Вызов процедуры события

Сообщение KPEATOP » 30.07.2009 (Чт) 9:40

Private на Public заменить не получается.
В модуле первой формы делаю процедуру:
Public Sub mKVDCalc_Click()
...........
end sub
В модуле второй формы вызываю эту процедуру:
Private Sub Command1_Click()
mKVDCalc_Click
end sub

При компиляции выдает ошибку Sub or Function not defined и выделяется строка mKVDCalc_Click
Вечность пахнет нефтью

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Вызов процедуры события

Сообщение Денис » 30.07.2009 (Чт) 9:44

ANDLL писал(а):private на public

Извиняюсь, действительно работает.
Но почему раньше мне ошибку выдавало??? :x
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

Re: Вызов процедуры события

Сообщение KPEATOP » 30.07.2009 (Чт) 9:48

Денис писал(а):
ANDLL писал(а):private на public

Извиняюсь, действительно работает.
Но почему раньше мне ошибку выдавало??? :x


У меня не работает, ошибку выдает Sub or Function not defined
Что сделать нужно ? Что то не так, а что не пойму.
Вечность пахнет нефтью

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Вызов процедуры события

Сообщение Денис » 30.07.2009 (Чт) 9:50

KPEATOP
Код: Выделить всё
Public Sub mKVDCalc_Click()
...........
end sub


Код: Выделить всё
Private Sub Command1_Click()
      ПЕРВАЯ_ФОРМА.mKVDCalc_Click
end sub


Кури мануалы по ООП, в частности что такое методы и их вызовы.
Последний раз редактировалось Денис 30.07.2009 (Чт) 9:53, всего редактировалось 1 раз.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

Re: Вызов процедуры события

Сообщение KPEATOP » 30.07.2009 (Чт) 9:53

Спасибо все, понял. Вызывать надо Form1.mKVDCalc_Click
Имя формы не написал )))
СЕНКС!!!
Вечность пахнет нефтью

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Re: Вызов процедуры события

Сообщение ANDLL » 30.07.2009 (Чт) 10:17

Но почему раньше мне ошибку выдавало???
Кривые руки, что же еще может быть?
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог


Вернуться в Visual Basic 1–6

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

Сейчас этот форум просматривают: Bing-бот и гости: 88

    TopList