powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите решить проблему (Thread и IBDataSet)
3 сообщений из 3, страница 1 из 1
Помогите решить проблему (Thread и IBDataSet)
    #32023477
Valk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите решить проблему или хотя бы подскажите, где копать.
Мне необходимо выполнять запросы в отдельных потоках. Я делаю,
в общих чертах, так:
Из главной формы (MainForm) создаю новую форму (FORMi), в
которой будет отображаться результат запроса. Из FORMi
создается и запускается поток, в котором собственно и выполняется
запрос посредством IBDataSet, со своими IBDatabase и IBTransaction.
На данном этапе все работает нормально: пока выполняется запрос в
потоке, могу вернуться в MainForm, понажимать в ней кнопки, полистать
списки, открыть еще несколько FORMi, со своими потоками и запросами.
Но все это до тех пор, пока не попытаюсь что-нибудь сделать с
открытыми в MainForm IBDataSet'ами, например, закрыть один из них.
В этом случае все замирает: и MainForm и FORMi - как, если бы
IBDataSet.Open (то, которое в потоке) я бы завернул в Synchronize.
И это самое замирание длится пока не отработает поток с запросом
(или, если их несколько, - то последний из них).
Подскажите, кто может, что за фигня такая и куда смотрит
наше правительсьво

Спасибо за любой ответ.
Valk, sod@dn.farlep.net
...
Рейтинг: 0 / 0
Помогите решить проблему (Thread и IBDataSet)
    #32023478
Valk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите решить проблему или хотя бы подскажите, где копать.
Мне необходимо выполнять запросы в отдельных потоках. Я делаю,
в общих чертах, так:
Из главной формы (MainForm) создаю новую форму (FORMi), в
которой будет отображаться результат запроса. Из FORMi
создается и запускается поток, в котором собственно и выполняется
запрос посредством IBDataSet, со своими IBDatabase и IBTransaction.
На данном этапе все работает нормально: пока выполняется запрос в
потоке, могу вернуться в MainForm, понажимать в ней кнопки, полистать
списки, открыть еще несколько FORMi, со своими потоками и запросами.
Но все это до тех пор, пока не попытаюсь что-нибудь сделать с
открытыми в MainForm IBDataSet'ами, например, закрыть один из них.
В этом случае все замирает: и MainForm и FORMi - как, если бы
IBDataSet.Open (то, которое в потоке) я бы завернул в Synchronize.
И это самое замирание длится пока не отработает поток с запросом
(или, если их несколько, - то последний из них).
Подскажите, кто может, что за фигня такая и куда смотрит
наше правительсьво

Спасибо за любой ответ.
Valk, sod@dn.farlep.net
...
Рейтинг: 0 / 0
Помогите решить проблему (Thread и IBDataSet)
    #32023479
Valk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите решить проблему или хотя бы подскажите, где копать.
Мне необходимо выполнять запросы в отдельных потоках. Я делаю,
в общих чертах, так:
Из главной формы (MainForm) создаю новую форму (FORMi), в
которой будет отображаться результат запроса. Из FORMi
создается и запускается поток, в котором собственно и выполняется
запрос посредством IBDataSet, со своими IBDatabase и IBTransaction.
На данном этапе все работает нормально: пока выполняется запрос в
потоке, могу вернуться в MainForm, понажимать в ней кнопки, полистать
списки, открыть еще несколько FORMi, со своими потоками и запросами.
Но все это до тех пор, пока не попытаюсь что-нибудь сделать с
открытыми в MainForm IBDataSet'ами, например, закрыть один из них.
В этом случае все замирает: и MainForm и FORMi - как, если бы
IBDataSet.Open (то, которое в потоке) я бы завернул в Synchronize.
И это самое замирание длится пока не отработает поток с запросом
(или, если их несколько, - то последний из них).
Подскажите, кто может, что за фигня такая и куда смотрит
наше правительсьво

Спасибо за любой ответ.
Valk, sod@dn.farlep.net
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите решить проблему (Thread и IBDataSet)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]