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/ |