OberonCore
https://forum.oberoncore.ru/

Таймер и события в ББ.
https://forum.oberoncore.ru/viewtopic.php?f=35&t=802
Страница 1 из 1

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

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

Автор:  Илья Ермаков [ Суббота, 29 Декабрь, 2007 23:50 ]
Заголовок сообщения:  Re: Таймер и события в ББ.

По поводу "таймера" - используется модуль Services. Там в документации всё описано. Повторяющиеся действия делаются просто - Action должен само себя перезаказать на следующий раз.

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

Автор:  mud-eng [ Понедельник, 31 Декабрь, 2007 09:15 ]
Заголовок сообщения:  Re: Таймер и события в ББ.

Имелись в виду "события" - аналог "событий" в Дельфи.

Автор:  Илья Ермаков [ Понедельник, 31 Декабрь, 2007 11:54 ]
Заголовок сообщения:  Re: Таймер и события в ББ.

Вьюшки обрабатывают события в процедурах HandleCtrlMsg, HandlePropMsg, куда среда посылает им типизированные сообщения. См. учебник в документации, главу "Создание отображений".

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

Автор:  mud-eng [ Воскресенье, 06 Январь, 2008 16:31 ]
Заголовок сообщения: 

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

Автор:  Александр Ильин [ Воскресенье, 06 Январь, 2008 18:35 ]
Заголовок сообщения:  Re:

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

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

Автор:  mud-eng [ Воскресенье, 06 Январь, 2008 19:41 ]
Заголовок сообщения:  Re: Re:

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

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


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

Автор:  Александр Ильин [ Воскресенье, 06 Январь, 2008 21:10 ]
Заголовок сообщения:  Re: Re:

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

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

Автор:  mud-eng [ Воскресенье, 06 Январь, 2008 21:56 ]
Заголовок сообщения:  Re: Re:

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

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


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

Автор:  Александр Ильин [ Воскресенье, 06 Январь, 2008 23:37 ]
Заголовок сообщения:  Re: Re:

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

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

Автор:  Darksnake [ Понедельник, 07 Январь, 2008 02:42 ]
Заголовок сообщения:  Re: Таймер и события в ББ.

Наверное немного не в тему.

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

Автор:  mud-eng [ Понедельник, 07 Январь, 2008 07:22 ]
Заголовок сообщения:  Re: Таймер и события в ББ.

Александр, Ваше письмо получил, спасибо! :-)

Автор:  mud-eng [ Понедельник, 07 Январь, 2008 07:25 ]
Заголовок сообщения:  Re: Таймер и события в ББ.

Darksnake, а какие компоненты в Дельфи Вы использовали?

Автор:  Александр Ильин [ Понедельник, 07 Январь, 2008 08:52 ]
Заголовок сообщения:  Re: Таймер и события в ББ.

Я в Дельфи использовал TCommPortDriver и TSerialPortNG. Реализация первого практически не отличается от того, что вы получите в Блэкбоксе через Services.Action (с учётом патчей - вообще не отличается), второй сделан отдельным потоком.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/