Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с DBGrid


comwad ©   (2004-02-11 15:38:00) 

У Grid выключаю чвойство dataSource=nil в Object Inspectore.
То есть в него набор данных не отображается.
Запускаю приложения и интенсивно даю запросы - все отлично работает.

Потом в Object Inspectore ставлю DBGrid.DataSource=DataSource2
(единственное отличие - данные отображаются)
- так же интенсивно даю запросы - виснет приложение ,сжирая ресурсы процессора до 98%.
Кривого в коде быть ни чего не может - код я не использую(прорисовка в Сell и так далее).
При отладчике выход из процедуры запроса нормален ,а далее все ,завис.
Ну ни чего не могу понять.
Delphi что ли гонит?


asp   (2004-02-12 10:53:00) [1]

У меня как-то было похожее в Delphi 4 (или 5). Прошло после установки Update Pack.


comwad   (2004-02-12 08:36:00) [2]

Хороший совет.
Но не для этой задачи.


SPIRIT   (2004-02-12 08:26:00) [3]

надо уменьшать интенсивность запросов !!!!


comwad   (2004-02-12 07:59:00) [4]

Да asp - это помогло.
Но какая причина так и не понятно.


asp   (2004-02-11 16:41:00) [5]

Значит, что-то где-то "поехало" :)
Попробуй поменять на:
var
f: TDataSet;
begin
...
f:= DBGrid1.DataSource;
DBGrid1.DataSource:= nil
try
{ Интенсивные запросы }
finally
DBGrid1.DataSource:= f
end;
...


comwad   (2004-02-11 16:02:00) [6]

To asp
Этот вариант поставил
DBGrid1.DataSource.DataSet.DisableControls;
try
{ Интенсивные запросы }
finally
DBGrid1.DataSource.DataSet.EnableControls
end;

Вместо зависания после EnableControlsпри отображении данных должно быть 5 столбцов
(в запросе 5 значений поля) а выдает один столбец , при чем не отображая данные.


asp   (2004-02-11 15:52:00) [7]

Возможно, потому что Grid высотой в 15 строк :)


comwad   (2004-02-11 15:47:00) [8]

Но почему не работает не закономерно.
Если первые например 15 запросов прорисует, а следующий виснет, причем глухо, пока через TASK не снимешь.


Johnmen   (2004-02-11 15:43:00) [9]

Все русурсы брошены на обработку сообщений об отрисовки грида...
:)))


asp   (2004-02-11 15:42:00) [10]

Попробуй:
DBGrid1.DataSource.DataSet.DisableControls;
try
{ Интенсивные запросы }
finally
DBGrid1.DataSource.DataSet.EnableControls
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо