![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошика программы при старте под XP [D6, Win2k, WinXP]
S@shka © (2006-05-24 23:11:00)На некоторых компах под XP прога при старте вывыливается с ошибкой -
Программа выполнила недопустимую операцию.... бла-бла-бла kernel32.dll
Характерно только для XP причем где то работает нормально (версии даже могут быть одинаковыми)
С чем это может быть связано?
MegaVolt (2006-05-25 17:58:00) [1]Вот то что я правил у себя в comctrls.pas
Первая часть относится к ListView и её нежеланию выводить данные в первом столбце выровнеными вправо.
Вторая убирает глюк при показе ListView в WinXP
Проверял работоспособность правок под 98 и под ХР.
1. Исправления необходимые для нормальной работы выравнивания в первой колонке ListView
Возможно это нужно было для старых виндов типа Win95
10912: procedure TListColumn.SetAlignment(Value: TAlignment);
if (Alignment <> Value) and (Index <> 0) then
заменяем на
if (Alignment <> Value) { and (Index <> 0) } then // убираем вторую проверку
13632: procedure TCustomListView.UpdateColumn(AnIndex: Integer);
if Index <> 0 then
fmt := IAlignment[UseRightToLeftAlignment, AAlignment]
else fmt := LVCFMT_LEFT;
заменяем на
fmt := IAlignment[UseRightToLeftAlignment, AAlignment];
2. Исправляет глюк в WinXP :)
13632: procedure TCustomListView.UpdateColumn(AnIndex: Integer);
if FImageIndex <> -1 then
fmt := fmt or LVCFMT_IMAGE or LVCFMT_COL_HAS_IMAGES;
заменяем на
if FImageIndex <> -1 then
fmt := fmt or LVCFMT_IMAGE or LVCFMT_COL_HAS_IMAGES
else
mask := mask and not (LVCF_IMAGE);
sicilla (2006-05-25 15:50:00) [2]Где можно прочитать про правку в comctrls.pas? или скиньте код правленный, плиз
MegaVolt (2006-05-25 13:40:00) [3]Это не шутка. Под WinXP проги с ListView писанные на D5 и с включенным стилем WinXP действительно вылетают по AV даже если вообще никакого кода в них нет. Это правится одной строчкой в comctrls.pas
Неисключено что таже фича есть и с D6
Loginov Dmitry (2006-05-25 13:13:00) [4]Компоненты используются?
:)))
MegaVolt (2006-05-25 12:58:00) [5]ListView используется?
antonn (2006-05-25 07:13:00) [6]с кривым кодом.