Текущий архив: 2006.06.11;
Скачать: CL | DM;
Вниз
Ошика программы при старте под XP Найти похожие ветки
← →
S@shka © (2006-05-24 23:11) [0]На некоторых компах под XP прога при старте вывыливается с ошибкой -
Программа выполнила недопустимую операцию.... бла-бла-бла kernel32.dll
Характерно только для XP причем где то работает нормально (версии даже могут быть одинаковыми)
С чем это может быть связано?
← →
antonn © (2006-05-25 07:13) [1]с кривым кодом.
← →
MegaVolt © (2006-05-25 12:58) [2]ListView используется?
← →
Loginov Dmitry © (2006-05-25 13:13) [3]Компоненты используются?
:)))
← →
MegaVolt © (2006-05-25 13:40) [4]Это не шутка. Под WinXP проги с ListView писанные на D5 и с включенным стилем WinXP действительно вылетают по AV даже если вообще никакого кода в них нет. Это правится одной строчкой в comctrls.pas
Неисключено что таже фича есть и с D6
← →
sicilla © (2006-05-25 15:50) [5]Где можно прочитать про правку в comctrls.pas? или скиньте код правленный, плиз
← →
MegaVolt © (2006-05-25 17:58) [6]Вот то что я правил у себя в 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);
Страницы: 1 вся ветка
Текущий архив: 2006.06.11;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.01 c