Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
20.02.2002, 07:22
|
|||
---|---|---|---|
|
|||
Помогите решить проблему (Thread и IBDataSet) |
|||
#18+
Помогите решить проблему или хотя бы подскажите, где копать. Мне необходимо выполнять запросы в отдельных потоках. Я делаю, в общих чертах, так: Из главной формы (MainForm) создаю новую форму (FORMi), в которой будет отображаться результат запроса. Из FORMi создается и запускается поток, в котором собственно и выполняется запрос посредством IBDataSet, со своими IBDatabase и IBTransaction. На данном этапе все работает нормально: пока выполняется запрос в потоке, могу вернуться в MainForm, понажимать в ней кнопки, полистать списки, открыть еще несколько FORMi, со своими потоками и запросами. Но все это до тех пор, пока не попытаюсь что-нибудь сделать с открытыми в MainForm IBDataSet'ами, например, закрыть один из них. В этом случае все замирает: и MainForm и FORMi - как, если бы IBDataSet.Open (то, которое в потоке) я бы завернул в Synchronize. И это самое замирание длится пока не отработает поток с запросом (или, если их несколько, - то последний из них). Подскажите, кто может, что за фигня такая и куда смотрит наше правительсьво Спасибо за любой ответ. Valk, sod@dn.farlep.net ... |
|||
:
Нравится:
Не нравится:
|
|||
|
20.02.2002, 07:22
|
|||
---|---|---|---|
|
|||
Помогите решить проблему (Thread и IBDataSet) |
|||
#18+
Помогите решить проблему или хотя бы подскажите, где копать. Мне необходимо выполнять запросы в отдельных потоках. Я делаю, в общих чертах, так: Из главной формы (MainForm) создаю новую форму (FORMi), в которой будет отображаться результат запроса. Из FORMi создается и запускается поток, в котором собственно и выполняется запрос посредством IBDataSet, со своими IBDatabase и IBTransaction. На данном этапе все работает нормально: пока выполняется запрос в потоке, могу вернуться в MainForm, понажимать в ней кнопки, полистать списки, открыть еще несколько FORMi, со своими потоками и запросами. Но все это до тех пор, пока не попытаюсь что-нибудь сделать с открытыми в MainForm IBDataSet'ами, например, закрыть один из них. В этом случае все замирает: и MainForm и FORMi - как, если бы IBDataSet.Open (то, которое в потоке) я бы завернул в Synchronize. И это самое замирание длится пока не отработает поток с запросом (или, если их несколько, - то последний из них). Подскажите, кто может, что за фигня такая и куда смотрит наше правительсьво Спасибо за любой ответ. Valk, sod@dn.farlep.net ... |
|||
:
Нравится:
Не нравится:
|
|||
|
20.02.2002, 07:23
|
|||
---|---|---|---|
|
|||
Помогите решить проблему (Thread и IBDataSet) |
|||
#18+
Помогите решить проблему или хотя бы подскажите, где копать. Мне необходимо выполнять запросы в отдельных потоках. Я делаю, в общих чертах, так: Из главной формы (MainForm) создаю новую форму (FORMi), в которой будет отображаться результат запроса. Из FORMi создается и запускается поток, в котором собственно и выполняется запрос посредством IBDataSet, со своими IBDatabase и IBTransaction. На данном этапе все работает нормально: пока выполняется запрос в потоке, могу вернуться в MainForm, понажимать в ней кнопки, полистать списки, открыть еще несколько FORMi, со своими потоками и запросами. Но все это до тех пор, пока не попытаюсь что-нибудь сделать с открытыми в MainForm IBDataSet'ами, например, закрыть один из них. В этом случае все замирает: и MainForm и FORMi - как, если бы IBDataSet.Open (то, которое в потоке) я бы завернул в Synchronize. И это самое замирание длится пока не отработает поток с запросом (или, если их несколько, - то последний из них). Подскажите, кто может, что за фигня такая и куда смотрит наше правительсьво Спасибо за любой ответ. Valk, sod@dn.farlep.net ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=40&tablet=1&tid=1581288]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
others: | 313ms |
total: | 422ms |
0 / 0 |