Форум "Delphi" (архив)
Паскаль, Делфи
достала дерганина DbGrida!ситуация: nRecNo:= Tmp.RecNo; Tmp.DisableControls; *********** тут куда-то там перемещаемся в таблице, чего-то считаем ********* вернем взад Tmp.RecNo:= nRecNo; Tmp.EnableControls; так вот, если курсор установленн на данных ближе к концу таблицы, то грид противно дергаетца, и даже меняет положение указателя на экране, сволота. как это можно полечить?
|
|
Usually DisableControls is called within the context of a try...finally block that reenables the controls even if an exception occurs. For example: with CustTable do begin DisableControls; try First; while not Eof do begin { Process each record here } Next; end; finally EnableControls; end; end; дык не должен. Может ты используешь не стандартный грид? Есть подозрение на EhGrid, который существенно отличается от TDBGrid по механизму работы. |
|
использую нестандартный. но, для успокоения совести попробовал стандартный - те же яйца. хотя... может, тут дело в реализации наследника от TTable? есть возможность попробовать на стандартной? токо данных должно быть побольше, и для теста указатель предварительно загнать куда-нить под конец таблицы... |
|
> токо данных должно быть побольше, и для теста указатель > предварительно загнать куда-нить под конец таблицы... Ни разу проблем дергания не было: без разницы сколько данных и где курсор. DisableControls отключает связь с любыми визуальными контролами отображающими данные из датасета. Проблема однозначно в наследовании компонент: причем скорее всего в наследовании TTable, а не грида -- потому что DisableControls - метод именно TTable. |
Тема находится в архиве
Написать ответ |
|
