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

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

отрисовка на форме [D7, XP, 2003]


dis12345 ©   (2013-07-27 16:57:00) 

Здравствуйте!!!
Delphi7 на WinXP отрисовываю в стринггриде чекбокс в 4 столбике

procedure TFormSettings.StringGridUsersDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
const
Flags: array[Boolean] of DWORD = (0, DFCS_CHECKED);
begin

with StringGridUsers, Canvas do begin
   IF Acol = 4 THEN begin
   IF Arow >= 1 THEN begin
       InflateRect(Rect, -2, -2);
       DrawFrameControl(Canvas.Handle, Rect, DFC_BUTTON, DFCS_FLAT or DFCS_BUTTONCHECK or Flags[Boolean(UserYN[Arow-1] )]);
   END;
   END;
END
end;

на ХР все работает, а на 2003 сервере вываливается с ошибкой
read at adress 00000000
работаю из под администратора....
Помогите!!!


brother   (2013-07-29 11:59:00) [1]

споришь, ну ну... я вижу что и для чего... ты делал как я говрою, замени

> Flags[Boolean(UserYN[Arow-1] )]);

на DFCS_CHECKED
+ точно все переменные процедуры StringGridUsersDrawCell
в строке DrawFrameControl ... инициализированы верно???


dis12345   (2013-07-29 10:34:00) [2]

последний параметр- флаг состояния чекбокса вкл или выкл, он определен, на ХР все функционирует нормально уже год, перенес на 2003- ошибка в run-time и из под отладчика в этой строке....


brother   (2013-07-27 20:02:00) [3]

поробуй это временно отключить


brother   (2013-07-27 20:01:00) [4]

> or Flags[Boolean(UserYN[Arow-1] )]);

тут что на входе получаешь?


dis12345   (2013-07-27 17:01:00) [5]

добавлю: вывыливается на DrawFrameControl


Наверх

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