|
|
|
Antony41 |
|
|||
Опытный Профиль Группа: Участник Сообщений: 332 Регистрация: 27.12.2008 Репутация: нет Всего: 1 |
Ребят нужен совет профессионала
компоненты DbGridEh, MemTableEh, DataSetDriverEh лежат на форме и находятся в главном потоке, при этом есть таймер который переодически обновляет запрос в IbQuery, при обновлении приложение подтормаживает, это всё понятно почему, и для того чтобы не тормозило нужно выполнять запрос в отдельном потоке, но вот какие компоненты должны быть в этом отдельном потоке все три? как их правильно связать из потока? с DbGridEh? |
|||
|
||||
Antony41 |
|
|||
Опытный Профиль Группа: Участник Сообщений: 332 Регистрация: 27.12.2008 Репутация: нет Всего: 1 |
кто нибудь подскажет или ткните куда нибудь почитать.
|
|||
|
||||
Antony41 |
|
|||
Опытный Профиль Группа: Участник Сообщений: 332 Регистрация: 27.12.2008 Репутация: нет Всего: 1 |
|
|||
|
||||
Bose |
|
|||
Эксперт Профиль Группа: Участник Клуба Сообщений: 1458 Регистрация: 5.3.2005 Где: Riga, Latvia Репутация: 9 Всего: 51 |
Можно вынести в поток IbQuery (но учитывай, что он должен работать через отдельное подключение (отдельный экземпляр IbDatabase + IbTransaction - там же в потоке)). Единственно, где это поможет - это в случае, если сам Sql запрос в бд выполняется долго.
Но перегонять данные из IbQuery в MemTableEh надо уже в главном потоке (возможно что придётся для этого отказаться от DataSetDriverEh). p.s. кстати, от таймера для обновления данных можно вообще отказаться, а вместо этого использовать IbEvents (из БД в программу слать event, при обновлении данных). event-ы лучше кешировать и вызывать обновление с задержкой, так как при массовых обновлениях event-ов может быть много. |
|||
|
||||
Antony41 |
|
|||
Опытный Профиль Группа: Участник Сообщений: 332 Регистрация: 27.12.2008 Репутация: нет Всего: 1 |
Спасибо огромное, про Event'ы вобще не знал спасибо почитаю... Честно сказать перешел на DevExpress и использую сейчас cxGrid |
|||
|
||||
Bose |
|
|||
Эксперт Профиль Группа: Участник Клуба Сообщений: 1458 Регистрация: 5.3.2005 Где: Riga, Latvia Репутация: 9 Всего: 51 |
С cxGrid-ом вроде всё вышеописанное верно. Или не? |
|||
|
||||
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |