OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Понедельник, 18 Февраль, 2019 23:12

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
 Заголовок сообщения: Таймер и события в ББ.
СообщениеДобавлено: Суббота, 29 Декабрь, 2007 21:03 

Зарегистрирован: Воскресенье, 30 Сентябрь, 2007 19:16
Сообщения: 7
Здравствуйте. Подскажите, пож-та, как пользоваться в ББ таймером (дабы по истечении опр. времени генерировать некое событие). Насколько я понимаю, какие-то средства работы с ним есть в SP4, вот только пока не могу разобраться, как правильно пользоваться ими. Кроме того, интересует, как правильно эмулировать события (Events) в ББ? Спасибо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Таймер и события в ББ.
СообщениеДобавлено: Суббота, 29 Декабрь, 2007 23:50 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9084
Откуда: Россия, Орёл
По поводу "таймера" - используется модуль Services. Там в документации всё описано. Повторяющиеся действия делаются просто - Action должен само себя перезаказать на следующий раз.

По поводу Events - что именно имеется в виду? Возможно, как раз то, что называется Services.Action.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Таймер и события в ББ.
СообщениеДобавлено: Понедельник, 31 Декабрь, 2007 09:15 

Зарегистрирован: Воскресенье, 30 Сентябрь, 2007 19:16
Сообщения: 7
Имелись в виду "события" - аналог "событий" в Дельфи.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Таймер и события в ББ.
СообщениеДобавлено: Понедельник, 31 Декабрь, 2007 11:54 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9084
Откуда: Россия, Орёл
Вьюшки обрабатывают события в процедурах HandleCtrlMsg, HandlePropMsg, куда среда посылает им типизированные сообщения. См. учебник в документации, главу "Создание отображений".

Контролы являются частным случаем вьюшек, который предназначен для быстрого построения форм ввода данных. Кое-какие события обрабатывать они могут через процедуры-уведомители (Notifier): изменение ввода, щелчок мышью, некоторые контролы типа таблиц - дополнительные события... См. тот же учебник, главу "Формы".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Воскресенье, 06 Январь, 2008 16:31 

Зарегистрирован: Воскресенье, 30 Сентябрь, 2007 19:16
Сообщения: 7
Да, все оказалось просто. Но такой "таймер", как мне сейчас кажется, для моей задачки не подходит. Хочу попробовать сделать небольшую программку для чтения данных (с последующей обработкой, визуализацией в виде графиков и сохранением на диск) с СОМ-порта если не в режиме реал-тайм, то хотя бы приблизиться к этому. Наверняка кто-то занимался чем-то подобным, может, посоветуете компоненты/пути решения?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re:
СообщениеДобавлено: Воскресенье, 06 Январь, 2008 18:35 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2291
Откуда: Россия, Санкт-Петербург
mud-eng писал(а):
Хочу попробовать сделать небольшую программку для чтения данных (с последующей обработкой, визуализацией в виде графиков и сохранением на диск) с СОМ-порта если не в режиме реал-тайм, то хотя бы приблизиться к этому. Наверняка кто-то занимался чем-то подобным, может, посоветуете компоненты/пути решения?

Я делал такую работу. CommV24 - работа с COM-портом. Services.Action - периодический опрос. Про реал-тайм забыть, а 10-20 раз в секунду будет. Про графики не посоветую, см. CPC (http://www.zinnamturm.eu).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Re:
СообщениеДобавлено: Воскресенье, 06 Январь, 2008 19:41 

Зарегистрирован: Воскресенье, 30 Сентябрь, 2007 19:16
Сообщения: 7
Александр Ильин писал(а):
mud-eng писал(а):
Хочу попробовать сделать небольшую программку для чтения данных (с последующей обработкой, визуализацией в виде графиков и сохранением на диск) с СОМ-порта если не в режиме реал-тайм, то хотя бы приблизиться к этому. Наверняка кто-то занимался чем-то подобным, может, посоветуете компоненты/пути решения?

Я делал такую работу. CommV24 - работа с COM-портом. Services.Action - периодический опрос. Про реал-тайм забыть, а 10-20 раз в секунду будет. Про графики не посоветую, см. CPC (http://www.zinnamturm.eu).


По-моему, у этого таймера слишком низкий приоритет. Если одновременно идет какая-то работа (например, мышкой в каком-то документе), то таймер серьезно "сбоит". Или я что-то не то делаю? И еще вопрос: можно посмотреть Вашу работу? Или исходники имеют гриф ДСП?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Re:
СообщениеДобавлено: Воскресенье, 06 Январь, 2008 21:10 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2291
Откуда: Россия, Санкт-Петербург
mud-eng писал(а):
По-моему, у этого таймера слишком низкий приоритет. Если одновременно идет какая-то работа (например, мышкой в каком-то документе), то таймер серьезно "сбоит". Или я что-то не то делаю? И еще вопрос: можно посмотреть Вашу работу? Или исходники имеют гриф ДСП?

ДСП, ДВП и прочие мебельные щиты. : ) Исходники могу дать.
Чтобы таймер работал (почти) как положено, нужно пропатчить Блэкбокс, см. тут:
http://community.livejournal.com/blackboxcb/
Проблема обозначена как "Background multitasking". Берите последний патч "Все в одном".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Re:
СообщениеДобавлено: Воскресенье, 06 Январь, 2008 21:56 

Зарегистрирован: Воскресенье, 30 Сентябрь, 2007 19:16
Сообщения: 7
Александр Ильин писал(а):
mud-eng писал(а):
По-моему, у этого таймера слишком низкий приоритет. Если одновременно идет какая-то работа (например, мышкой в каком-то документе), то таймер серьезно "сбоит". Или я что-то не то делаю? И еще вопрос: можно посмотреть Вашу работу? Или исходники имеют гриф ДСП?

ДСП, ДВП и прочие мебельные щиты. : ) Исходники могу дать.
Чтобы таймер работал (почти) как положено, нужно пропатчить Блэкбокс, см. тут:
http://community.livejournal.com/blackboxcb/
Проблема обозначена как "Background multitasking". Берите последний патч "Все в одном".


Спасибо. Исходники могу принять по адресу mud-eng#yandex.ru :-) Скорых восторгов не ждите, пока разберусь... Поставлю Ваши патчи и попробую-таки сделать задуманное.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Re:
СообщениеДобавлено: Воскресенье, 06 Январь, 2008 23:37 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2291
Откуда: Россия, Санкт-Петербург
mud-eng писал(а):
Спасибо. Исходники могу принять по адресу mud-eng#yandex.ru :-) Скорых восторгов не ждите, пока разберусь... Поставлю Ваши патчи и попробую-таки сделать задуманное.

Отправил, разбирайтесь : )


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Таймер и события в ББ.
СообщениеДобавлено: Понедельник, 07 Январь, 2008 02:42 

Зарегистрирован: Пятница, 29 Июнь, 2007 12:16
Сообщения: 98
Наверное немного не в тему.

Я тоже такое делал... делал - делал, а потом плюнул и сделал на дельфи, где для этого уже есть готовые компоненты. Тем более что скорость опроса там должна была быть больше чем 10-20 раз в секунду. При такой нехватке базовых компонентов, гораздо проще сделать хуже, но где-то еще, чем тратить 2 недели на то, чтобы создать все нужное в ББ.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Таймер и события в ББ.
СообщениеДобавлено: Понедельник, 07 Январь, 2008 07:22 

Зарегистрирован: Воскресенье, 30 Сентябрь, 2007 19:16
Сообщения: 7
Александр, Ваше письмо получил, спасибо! :-)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Таймер и события в ББ.
СообщениеДобавлено: Понедельник, 07 Январь, 2008 07:25 

Зарегистрирован: Воскресенье, 30 Сентябрь, 2007 19:16
Сообщения: 7
Darksnake, а какие компоненты в Дельфи Вы использовали?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Таймер и события в ББ.
СообщениеДобавлено: Понедельник, 07 Январь, 2008 08:52 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2291
Откуда: Россия, Санкт-Петербург
Я в Дельфи использовал TCommPortDriver и TSerialPortNG. Реализация первого практически не отличается от того, что вы получите в Блэкбоксе через Services.Action (с учётом патчей - вообще не отличается), второй сделан отдельным потоком.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 14 ] 

Часовой пояс: UTC + 3 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2019, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB