![]() |
|
Модераторы: mihanik |
![]()
|
|
| Registr |
|
|||
|
Unregistered |
Здраствуйте, уважаемые, а особенно здраствуйте Cardinal, т.к. это вопрос по мотивам статей
ссылки на которые указаны Вами в посте "Странный такой таймер". Как я понял, в VBA нет собственного таймера с разрешающей способностью менее 1 сек. Класс VB.Timer конечно хорош, но проблема в том, что далеко не у всех установлен VB, а значит на других компьютерах такой таймер работать скорее всего не будет. Вот и захотелось мне написать свой собственный класс, на основе API функций описанных в одной из ваших статей. Но тут сразу же возникла проблема: функция AddressOf возращает только адрес процедур находящихся в модуле, а не в классе, значит события Timer() в моём классе не получится. Получился такой класс с выносом: общая для всех таймеров процедура EventTimer(). Далее я планировал передавать через один из параметров класса, строкового типа, индивидуальное имя процедуры, вызываемой при срабатывании каждого конкретного таймера созданного на основе класса. Но не тут-то было. В VBA, в отличии от Delphi, нет переменных процедурного типа, и следующий код не катит: Dim NameProc as String (?может есть что-то более подходящее) NameProc=Timer1.SubName Call NameProc Конечно, можно вывернутся, передавать какой нибудь условный параметр, типа NumberSub, а потом писать: If NumerSub = 1 Then Call EvStart1 ElsIf NumerSub = 2 Then Call EvStart2 ... Но уж больно это всё, как вы писали, через з...цу получается. Нельзя ли сделать что-нибудь попроще в этом направлении? |
|||
|
||||
| Staruha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1292 Регистрация: 1.2.2004 Где: Казань Репутация: 13 Всего: 27 |
- Мне кажется ,что VB как бы везде установлен,где есть VBA. Для примера на работе у меня VB6 - не установлен ,а дома есть. Классный таймер работает и там и там. -------------------- Возмездие настигнет |
|||
|
||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 1 Всего: 68 |
Старуха
Это как ставить будешь |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: нет Всего: 186 |
Класс Vb.Timer - это библиотека VB6.OLB. Попробуй потаскать ее за собой
|
|||
|
||||
| Akina |
|
||||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 26 Всего: 454 |
Хреново понял.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||
|
|||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: нет Всего: 186 |
Да хоть и так только в реальности меньше 0.2 сек он не пашет |
|||
|
||||
| Akina |
|
||||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 26 Всего: 454 |
Run-time error
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||
|
|||||
| Staruha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1292 Регистрация: 1.2.2004 Где: Казань Репутация: 13 Всего: 27 |
Но мы же были в xl? -------------------- Возмездие настигнет |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: нет Всего: 186 |
В xl нету у формы такого события. Обидно, но факт.
|
|||
|
||||
| Staruha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1292 Регистрация: 1.2.2004 Где: Казань Репутация: 13 Всего: 27 |
Ну вот пришли к тому с чего начали.Поэтому Cardinal и сделал Taimer.
-------------------- Возмездие настигнет |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 26 Всего: 454 |
ихде это было указано? -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Staruha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1292 Регистрация: 1.2.2004 Где: Казань Репутация: 13 Всего: 27 |
-------------------- Возмездие настигнет |
|||
|
||||
| Staruha |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1292 Регистрация: 1.2.2004 Где: Казань Репутация: 13 Всего: 27 |
Вот такая фенька получилась
модуль
Это сообщение отредактировал(а) Старуха - 1.4.2005, 21:48 Присоединённый файл ( Кол-во скачиваний: 6 )
_._______.rar-------------------- Возмездие настигнет |
||||
|
|||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: нет Всего: 99 |
Чтобы вызвать процедуру по ее имени надо посмотреть на этот пример Вообще Registr если обращаетесь лично ко мне, то скидывайте мне плиз сообщение по PM, а то ведь я могу и не узнать... Присоединённый файл ( Кол-во скачиваний: 6 )
howto_callbyname.zip-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
![]()
|
| Правила форума "Программирование, связанное с MS Office" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще!
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Программирование, связанное с MS Office | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |