Форум по Delphi программированию

 



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 30.04.2021, 00:01
Shudo Shudo вне форума
Прохожий
 
Регистрация: 28.04.2021
Сообщения: 1
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Управление устройством через СОМ в отдельном потоке

Здравствуйте. Зашёл в творческий тупик, прошу помощи.

Условия. Есть основная форма, в ней существует таймер, а также из неё вызывается поток управления устройством. Команды могут отправляться как таймером, так и по кнопкам. Ответы от устройства могут иметь разную длину сообщения, также могут приходить сообщения об ошибках независимо от команд.
Поток описан в отдельном файле.

Задача - написать работающий код =).

Итерации на текущий момент:
1) управление просто через глобальную переменную без условий. Поток дропает часть команд.
2) играл с задержками после установки глобальной переменной. Результат примерно тот же.
3) на каждое новое присвоение значения переменной был написан цикл ожидания ответа. Работает, но сильно подвисает основное окно, таймер ведет себя неадекватно.
4) включение глобального события tevent, ожидание установки из потока - просто не выставляется
5) попытка с критическими секциями. Падает на ошибке доступа к памяти

С каждым шагом я ухожу куда-то не туда...
Да, я прочитал на форуме совет посылать команды из основного окна, такое уже делал, сейчас хочется реализовать все отдельно.

В приложенном архиве файлы основного процесса и потока.
v1.zip
Ответить с цитированием
Ответ



Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 07:37.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2021

ВКонтакте   Facebook   Twitter