![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Форумчанин
Регистрация: 11.06.2010
Сообщений: 525
|
![]()
Доброе время суток,
У меня есть несколько «DBGrid», которые должны окрашиваться одинаково и для придумал процедуру «COLOR_GRID(const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState; AGrid: TDBGrid);» в которой выполняются действия по окраске всех «DBGrid». Данную процедуру я просто вызываю из собития «DBGridDrawColumnCell» Код:
Но мне приходится, после редактирования таблицы, программно передергивать bvdbgrRateDrawColumnCell (для корректной окраски данных), способом Код:
«class EAccessViolation with message 'Access violation at address 004041A4 in module 'MetaTrader.exe'. Read of address 00000036'. Process stopped. Use Step or Run to continue.» В файле «…delphi7/source/rtl/sys/system.pas», на строке Код:
Заранее спасибо за ответ. P.S. - Для упрощения, я закоментировал все в процедуре «COLOR_GRID» (ошибка осталась). - Мне всетаки кажется, что я не правильно вызываю событие: Код:
Последний раз редактировалось KBO; 13.09.2017 в 14:33. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Сделай перерисовку грида, refresh или repaint - само все раскрасится. А коль так вызываешь OnDrawColumnCell инициализировать параметры кто будет за тебя?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#3 | |
Форумчанин
Регистрация: 11.06.2010
Сообщений: 525
|
![]() Цитата:
Еще раз спасибо. P.S. Работаю с "DataSet" там есть "refresh", а с гридом как-то про него не вспомнил |
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Он по идее и без refresh должен был перекраситься после Post
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 11.06.2010
Сообщений: 525
|
![]()
После "Post" - да.
Но я удаляю елемент (влияющий на раскраску грида) из массива. А массив заполняется из другой таблицы, в начале работы программы, которую я также потом редактирую подзапросом (после удаления элемента). Последний раз редактировалось KBO; 13.09.2017 в 15:55. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка при вызове функции | Vilkas | Помощь студентам | 2 | 19.12.2014 06:18 |
Ошибка при вызове free() | ivan.tiran | Общие вопросы C/C++ | 5 | 04.12.2014 23:01 |
ошибка при вызове процедуры | Emperator12 | Общие вопросы Delphi | 8 | 22.09.2012 00:52 |
beginthread, ошибка при вызове | Dreanks | Помощь студентам | 2 | 28.10.2010 14:09 |