Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: WinAPI и системное программирование > В трехзвенке не отрабатывает поток |
Автор: KAnAn 22.8.2009, 11:52 | ||
Трехзвенка, Delphi 7, Oracle, MDI-приложение, TSocketConnection, на серверной части (TSQLQuery-TDataSetProvider), на клиенте (TClientDataSet - TDataSource). При работе без использования потока все работает отлично, но в связи со значительной длительностью выполнения запроса хотелось бы зарядить запрос через поток, чтобы приложение не висло и не вводило пользователя в ступор. Тестовый вариант выглядит так:
Так выглядит работа с потоком. Поток инициализируется, выполняется, и на форме (через дебагер) выходит сообщение об ошибке: Project MyProject.exe raised exception class ESocketConnectionError with message ‘Error reading from socket’. Кстати, если смотреть пошагово, то до выполнения Synchronize(vForm) дело не доходит. После выполнения vDataSet.Open форма отображается на экране (данные запроса должны отображаться через грид), затем задержка (выполнение запроса, я полагаю) и далее сообщение об ошибке. Что не так делаю? Спасибо. За примеры отдельный респект и уважуха. |
Автор: bartram 22.8.2009, 17:42 |
Рекомендую почитать вот http://forum.vingrad.ru/forum/topic-60076.html, сразу найдете свои ошибки. |