![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с 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;