![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 01.09.2010
Сообщений: 7
|
![]()
Возникли трудности (не понимание) с прогаммированием в Delphi. Я занимаюсь програмированием микроконтроллеров на Си. По этому мне трудно понять кое какие моменты в направлении обработки событий.
Ситуация такая: я сделал сервер(на ServerSocket ) к серверу подключаются клиенты передают данные , сервер по событию ServerSocket1ClientRead их обрабатывает и передает в СОМ порт а затем получает по СОМ порту ответ по событию OnRxData . Сейчас Сервер работает в тестовом режиме подключено 4 клиента, все нормально. Но сервер должен обслуживать до 300 клиентов, так вот я не могу понять что начнет происходить когда будет большое количество событий ServerSocket1ClientRead и OnRxData . Допустим я по событию OnRxData вхожу в процедуру его обработки , пока программа выполняет процедуру обработки OnRxData происходит событие ServerSocket1ClientRead , что произойдет в этом случае, программа переключиться на обработку события ServerSocket1ClientRead предворительно сохранив все данные процедуры OnRxData , и затем когда обработает событие ServerSocket1ClientRead вернется обратно для продолжения обработки OnRxData ? Последний раз редактировалось meganom; 01.09.2010 в 18:12. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 25.08.2010
Сообщений: 258
|
![]()
Чото ты намутил много!Обясни подробно и нормально
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 01.09.2010
Сообщений: 7
|
![]()
Куда ещё подробней? Лучше попробую кратко
Приходят данные в СОМ порт-Запускается процедура обработки событие OnRxData для чтения из СОМ в этой процедуре происходит декодирование полученных данных и пока происходит декодирование данных, по Ethernet то же приходят данные и происходит событие ServerSocket1ClientRead что будет с декодированием данных в обработчике OnRxData они что прервутся а потом опять продолжатся ? |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
все нормально будет, они либо в разных потоках, тогда паралельно, либо последовательно(сначало одно потом второе)
ибо сорвать куда попало указатель eip тоже нельзя. чтоб точно ответить надо компоненты смотреть и их настройки, сокет скорее всего в отдельном потоке работает(точнее обрабатывает клиентов) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
![]()
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
![]() |
![]() |
![]() |
#6 | |
Регистрация: 01.09.2010
Сообщений: 7
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Обработка событий из консоли | D_E_N | Общие вопросы Delphi | 2 | 24.07.2009 16:50 |
Обработка событий формы | aval | Microsoft Office Excel | 3 | 17.06.2009 18:17 |
Обработка событий в C++ Builder | BychkovVV | Помощь студентам | 3 | 02.03.2009 01:48 |
обработка событий из консоли! | nereus | Общие вопросы Delphi | 0 | 07.02.2007 15:33 |