|
|
|
Переменная не хочет становиться withEvents
|
|||
|---|---|---|---|
|
#18+
Я в модуле формы генерю событие, хочу, чтобы код в модуле класса его отловил, пишу Private WithEvents t As clsNewDocID, а копилятор говорит - object does not source automation events ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2004, 18:03:27 |
|
||
|
Переменная не хочет становиться withEvents
|
|||
|---|---|---|---|
|
#18+
А в модуле clsNewDocID какие-нибудь события описаны? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2004, 18:06:53 |
|
||
|
Переменная не хочет становиться withEvents
|
|||
|---|---|---|---|
|
#18+
Нет, они описаны в модуле формы. В модуле класса описаны их обработчики. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2004, 18:08:41 |
|
||
|
Переменная не хочет становиться withEvents
|
|||
|---|---|---|---|
|
#18+
ну так и опиши их в класе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2004, 18:09:50 |
|
||
|
Переменная не хочет становиться withEvents
|
|||
|---|---|---|---|
|
#18+
Kelme, они и так в классе - классе формы, там, где происходит RaiseEvent ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2004, 18:12:24 |
|
||
|
Переменная не хочет становиться withEvents
|
|||
|---|---|---|---|
|
#18+
я классы ни разу не писал, но предполагаю, что описание событий должно быть в самом классе, а не в модуле какой-то формы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2004, 18:21:14 |
|
||
|
Переменная не хочет становиться withEvents
|
|||
|---|---|---|---|
|
#18+
В примере, который в Help (про секундомер) они действительно, в классе. Но там смысл другой. В их примере Event-ы там (в модуле класса) и генерятся. Там код формы открывает функцию в классе с описанными eventa-ами, и по Event-у происходит вызов обработчиков, которые в модуле формы (там данные обновляются). У меня же, наоборот, код открывает форму, и по Event-у в форме надо передать параметр всем, кому надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2004, 18:28:26 |
|
||
|
Переменная не хочет становиться withEvents
|
|||
|---|---|---|---|
|
#18+
автор В примере, который в Help (про секундомер) они действительно, в классе. Но там смысл другой Cмысл написания класов везде один и тот же, все что относится к классу должно быть в нем ОПИСАНО, все св-ва, методы и события (про наследование речь не идёт). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2004, 18:35:57 |
|
||
|
Переменная не хочет становиться withEvents
|
|||
|---|---|---|---|
|
#18+
Ну, не смысл, а ситуация другая. В их примере события и описания их лежат в независимом модуле класса, а обработчики - в модуле формы. У меня - наоборот. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2004, 18:41:54 |
|
||
|
Переменная не хочет становиться withEvents
|
|||
|---|---|---|---|
|
#18+
автор Ну, не смысл, а ситуация другая. В их примере события и описания их лежат в независимом модуле класса, а обработчики - в модуле формы. У меня - наоборот. тебе же русским языком говорят и Access по английски говорит: описание событий должно быть в ТЕЛЕ КЛАССА! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2004, 18:48:01 |
|
||
|
Переменная не хочет становиться withEvents
|
|||
|---|---|---|---|
|
#18+
Не надо WithEvents... WithEvents нужна в том коде, КОТОРЫЙ будет ловить сообщения. Просто генерьте и усё будет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2004, 18:50:11 |
|
||
|
Переменная не хочет становиться withEvents
|
|||
|---|---|---|---|
|
#18+
При том, что описание событий должно быть в теле класса :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2004, 18:51:45 |
|
||
|
Переменная не хочет становиться withEvents
|
|||
|---|---|---|---|
|
#18+
Кузька , А зачем мне их так просто генерить, мне надо, чтобы их кто-то ловил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2004, 18:56:47 |
|
||
|
Переменная не хочет становиться withEvents
|
|||
|---|---|---|---|
|
#18+
Private WithEvents t As Form 'clsNewDocID 'WithEvents - тот, кто тебе (классу) педераст "сообщение" о своих событиях, т.е. "сервер". Твой класс - его "клиент". В своем классе (клиенте) ты и пишешь процедуры запускаемые событиями "сервера", -т.е. определенными (и наступающими) для "сервера событий" (в твоем случае - Form). Если ты попытаешься определить в серверы событий класс, не реализующий событий - то его клиентам нечего будет получать. Если ты хочешь последовательно переслать от своего (промежуточного класса -клиента) сообщение (событие) другому классу - вызови в нем уже его, собственный RaiseEvent (которы и будет слаться дальше). в языке просто скрыта реализация "передачи" управления от "серверов" - "клиентам" (или организация параллельных нитей - ит депендс - т.к., если сервер должен дождаться завершения одного _своего_ события, до возникновения следующего - он, думается, будет ждать завершения всех обработчиков "получателей", хотя в аналогии программирования событий с асинхронно читаемой почтой этого не просматривается - сервер не обязан ждать отклика клиентов, их, откликов, просто "не существует" в языке), и организация общего "вычислительного процесса" по синтаксическим меткам вида: {Объявить_мне_клиенту WithEvents "сервер" AS "класс-рассыльщик-событий"} ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2004, 18:57:56 |
|
||
|
Переменная не хочет становиться withEvents
|
|||
|---|---|---|---|
|
#18+
Осел, ты всё понял, что 4321пуск сказал? Ну тогда я на пальцах :) //не обижаться! У тебя есть класс clsNewDocID? Есть. Обработчики событий (код, который будет выполнен при возникновении события в классе) в нем есть? Есть. Форма в которой генерируется событие есть? Есть. Ну так и объяви в форме переменную (без WithEvents), ссылающуюся на твой класс и генерь для этого класса события. WithEvents нужен для того, чтобы ссылаться на некий объект и ПОЛУЧАТЬ ВСЕ СОБЫТИЯ ДАННОГО ОБЪЕКТА . Какие события у тебя генерит класс, чтобы ты пытался получить их в форме, описывая переменную с WithEvents? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2004, 19:14:26 |
|
||
|
Переменная не хочет становиться withEvents
|
|||
|---|---|---|---|
|
#18+
4321, Интересно, попытаюсь в этом разобраться. Но как же все же решить мою простую задачку? Я просто хотел, чтобы параметр, выбранный в форме, вернулся в запускающий эту форму код, но чтобы этот код не юзал контролы формы, чтоб он глобальные переменные не юзал. Так нельзя что-ли в VBA сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2004, 19:18:29 |
|
||
|
Переменная не хочет становиться withEvents
|
|||
|---|---|---|---|
|
#18+
Кузька, В форме у меня описано событие Public Event sendDocid(DocID As Long), которое наступает один раз, когда после ввода данных посчитан DocID, который и надо передать в тот код, что форму запустил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2004, 19:26:42 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32755615&tid=1670790]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 349ms |

| 0 / 0 |
