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