![]() |
|
![]() ![]() ![]() |
|
lonelybooba |
|
||||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 24.2.2010 Репутация: 1 Всего: 1 |
салют всем.
товарищи, я уже голову сломал, подскажите плс как реализовать следующую вещь: в дельфях работаю с DAC for MySQL. выполняю запрос (может не прально выполняю):
Идея такая, что когда выполняется запрос у меня появляется окошко с надписью "Выполняется запрос" и прочей лабудой (не столь важно какой). Делаю это так:
И на этом деле, как вы поняли, всё виснет (запросы большие). Подскажите плс, как "успокоить" приложение, чтобы его можно было спокойно сворачивать и т.п. Application.Processmessages как я понял юзать нельзя, хотя пробовал, но тоже не работает. Заранее спасибо |
||||
|
|||||
CROTishka |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 192 Регистрация: 30.7.2009 Репутация: 1 Всего: 2 |
Ответ очевиден: выполнять запрос в отдельном потоке.
|
|||
|
||||
lonelybooba |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 24.2.2010 Репутация: 1 Всего: 1 |
CROTishka, пробовал, не вышло, ибо руки кривые. подскажиет плс как сюда легче всего прикруить тред.
з.ы. вообще по идее реализовал давно эту задачу, выводится окошко виснет на 3-4 секунды и потом его можно спокойно двигать пока выполняется запрос, но содержимого окна не видно. но эт не дело, поэтому прошу совета... |
|||
|
||||
CROTishka |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 192 Регистрация: 30.7.2009 Репутация: 1 Всего: 2 |
возможных реализаций - куча. Какой вы сделаете - зависит от вас.
самый lameпростой на мой взгляд вариант: меняете вашу SQLQuery (хз из какого набора) на аналогичный датасет. File -> New -> Delphi File -> Thread Object При создании передаёте в него 2 пар-ра: условия квери и нотифай эвент, который надо вызвать по завершении. В экзекуте динамически создаёте кверю, вставляете ваш код, тот, что вы привели. По завершении рекордсет, который получили в рез-те запроса, передаёте в обработчик эвента. В обработчике эвента пихаете этот рекордсет в датасет. -> Profit. |
|||
|
||||
lonelybooba |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 24.2.2010 Репутация: 1 Всего: 1 |
CROTishka, добро! завтра попробую и обязательно отпишусь, спасибо
![]() |
|||
|
||||
lonelybooba |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 24.2.2010 Репутация: 1 Всего: 1 |
CROTishka, всё отлично работает, создал объект, в екзекут засунул обработку запроса. а для нормальной работы датасета все визуальные фишки засунул в отдельную процедуру и связал их Synchronize'ом. вощем разобрался. спасибо;)
|
|||
|
||||
CROTishka |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 192 Регистрация: 30.7.2009 Репутация: 1 Всего: 2 |
Кушайте не обляпайтесь.
![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |