![]() |
|
Модераторы: Akina |
![]()
|
|
| GrishinUS |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 5.9.2006 Где: Самара Репутация: нет Всего: нет |
Здравствуйте.
Пишу скрипт к SCADA системе ICONICS Genesis32. Что делает скрипт : следит за набором параметров и записывает их в БД MySQL (через ADODB). Пуск и остановка скрипта осуществляется нажатием кнопки вручную -- запускается цикл слежения за параметрами, обновление значений параметров происходят 1 раз в секунду. В качестве задержки служит процедура Sleep:
Теперь загвоздка. Когда нажимаешь кнопку "Начать слежение за параметрами" кнопка как бы залипает (остается нажатой) и программа не реагирует на нажатия вообще. Проиходит это до тех пор пока не переключишься на другое окно. Прикреплю 3 рисунка : 1) Не нажимали ничего 2) Нажали "Начать слежение за параметрами" (наблюдается залипание) 3) Переключились на другое окно и вернулись обратно (кнопка отлипла) Это сообщение отредактировал(а) GrishinUS - 19.1.2008, 20:40 Присоединённый файл ( Кол-во скачиваний: 6 )
isnt_running.GIF 3,00 Kb |
|||
|
||||
| GrishinUS |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 5.9.2006 Где: Самара Репутация: нет Всего: нет |
2) Нажали "Начать слежение за параметрами" (наблюдается залипание)
Присоединённый файл ( Кол-во скачиваний: 8 )
is_running.GIF 3,38 Kb |
|||
|
||||
| GrishinUS |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 5.9.2006 Где: Самара Репутация: нет Всего: нет |
3) Переключились на другое окно и вернулись обратно (кнопка отлипла)
Присоединённый файл ( Кол-во скачиваний: 5 )
is_stopped.GIF 2,93 Kb |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Если бы теперь еще понять, где все это происходитЮ, какое отношение и в какой именно части это имеет к VB6 (раздел) и VBA (название)...
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Dexx |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 292 Регистрация: 13.6.2005 Репутация: 5 Всего: 7 |
TRACE MODE
Добавлено @ 23:08 Надо юзать! Это сообщение отредактировал(а) Dexx - 19.1.2008, 23:08 -------------------- |
|||
|
||||
| GrishinUS |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 5.9.2006 Где: Самара Репутация: нет Всего: нет |
при нажатии этой кнопки запускается VBA скрипт :
программа из которой происходит запуск ждет завершения выполнения скрипта. Сейчас ради интереса написал в Start только один оператор
кнопка отвисает через 10 секунд. Может его можно запускать как - нибудь вроде трэда? Добавлено через 1 минуту и 43 секунды Я извиняюсь, а что это? Это сообщение отредактировал(а) GrishinUS - 19.1.2008, 23:09 |
||||
|
|||||
| Dexx |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 292 Регистрация: 13.6.2005 Репутация: 5 Всего: 7 |
Другая SCADA
-------------------- |
|||
|
||||
| GrishinUS |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 5.9.2006 Где: Самара Репутация: нет Всего: нет |
||||
|
||||
| Dexx |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 292 Регистрация: 13.6.2005 Репутация: 5 Всего: 7 |
У ладно если скада выбрана.
Мож на таймер повесить на проверку параметров? Добавлено @ 23:35 Мне кажется это логичней. Пусть вызывается раз в секунду и проверяет параметры! Выводит там куда нужно и тд. Это сообщение отредактировал(а) Dexx - 19.1.2008, 23:38 -------------------- |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Так что кнопка и залипает в ожидании следующего события... каковым собсно является получение приложением фокуса после твоих манипуляций. Используй другую функцию... или нет, не так - объясни, нахрена ты вообще сюда WaitMessage вставляешь? -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Dexx |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 292 Регистрация: 13.6.2005 Репутация: 5 Всего: 7 |
WaitMessage DoEvents Типа цитирую "обеспечивает параллельное выполнение других процессов" по замыслу автора Это сообщение отредактировал(а) Dexx - 20.1.2008, 00:40 -------------------- |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Dexx |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 292 Регистрация: 13.6.2005 Репутация: 5 Всего: 7 |
Таймер используй!
При нажатии кнопки запускай. И например, при повторном нажатии останавливай. -------------------- |
|||
|
||||
| GrishinUS |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 5.9.2006 Где: Самара Репутация: нет Всего: нет |
WaitMessage был вставлен после того как обнаружили загрузку проца 100%, с ней проц грузится так будто ничего не нажимали (0 - 1 % загрузка ЦП). Если убрать и DoEvents то программа вообще перестает реагировать на что - либо и показывает белый (повисший) экран.
Обеспечивает выполнение других процессов В ПРЕДЕЛАХ САМОЙ GENESIS32 -- отрисовку данных с датчиков там и т.д. Кстати функция SleepVB была взята вот отсюда : http://www.visual.2000.ru/develop/ms-vb/tips/0002-2.htm впоследствии я к ней добавил WaitMessage чтобы разгрузить ЦПУ (автору процедуры SleepVB отписал)
Можно поподробнее что за таймер? |
||||
|
|||||
| Akina |
|
||||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Вместо WaitMessage разумнее было вставить задержку по таймеру (скакжем, настроенному на 100 мс). Есть такой контрол... суть его - превращение кода
в такой код:
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||
|
|||||
![]()
|
| Правила форума "VB6" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB6 | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |