| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > indy |
| Автор: Dapo 5.3.2003, 13:43 | ||
| Извиняюсь за тупую формулировку темы, но как-то сформулировать не могу. А вопрос вот в чем: Делаю приложение которое собирает данные с контроллера. Обмен с контроллером налажен и реализован в отдельном потоке. Там же (в потоке) формирую строку (собственно собранные данные) для передачи ее клиентам подключенным по TCP посредством компонента Indy TTcpServer. Строка передается посредством св-ва моего потока: property OutStr:string read FOutString; В OnExecute TCPServer-а пишу:
Где конкретно ошибка сказать не могу, прога просто виснет после того как клиент пытается прочесть данные с сервера. Может проблема в синхронизации (ведь для каждого TCP-клиента создается отдельный поток). Хотя, если где-то в проге присваиваю значение TmpThread.OutStr, например, Caption-у главной формы (передаю в основной поток), то все работает нормально и не виснет. В чем может быть дело? Понимаю, что вопрос абстрактный, но может есть какие-то соображения? PS. Пробовал передавать в DdeServerItem, тоже все работает. Но DDE не подходит по ряду причин. |
| Автор: SmaLL 6.3.2003, 01:09 |
| Я бы так сказал: Indy - сырые и кривые компоненты. Может быть дело именно в этом ! |
| Автор: Dapo 6.3.2003, 14:46 |
| Не кривее NetMaster (Почему борланды их заменили?). Я уже писал проги на основе Indy и все работало замечательно. Просто не сталкивался с подобным, хотя конечно дело может быть и в их глюкавости. |