В TListView со стилем vsReport вызывает нарушение прав доступа когда вы запустите свой проект с ХР манифеста ресурса.

Фантик в VCL есть ошибка и вы должны источник пропатчить.

Просто скопируйте comctrls.pas в папку с вашим собственным проектом и измените метод UpdateColumn.

После компиляции проекта, comctrls.dcu и вы можете заменить оригинальный comctrls.dcu с

пропатчил один.

 

Code:

{

The TListView with a vsReport style causes an access violation

when you run your project with a XP manifest resource.

 

The VCL wrapper has a bug and you must patch sources.

Just copy the comctrls.pas unit in the folder with your own

project and modify the UpdateColumn method.

After compiling the project, a comctrls.dcu is created

and you can replace the original comctrls.dcu with the

patched one.

 

}

 

{

Wenn ein XP Manifest als Ressource in eine Exe-Datei eingebunden

wird, um einer Applikation das neue XP-Design zu verleihen,

gibt es bei der TListView mit Style vsReport eine Zugriffsverletzung

und die Anwenung lasst sich nicht starten.

 

Das ist ein VCL Bug und kann behebt werden, indem

comctrls.pas modifiziert wird.

Kopiere die comctrls.pas in dein Projekte-Verzeichnis und

andere die UpdateColumn Methode wie folgt.

Nach dem Kompilieren wird eine Comctrls.dcu Datei erstellt.

Die original Comctrls.dcu kann nun durch die modifizierte ersetzt werden.

}

 

 

// ComCtrls.pas:

 

procedure TCustomListView.UpdateColumn(AnIndex: Integer);

{...}

with Column, Columns.Items[AnIndex] do

begin

  { PATCH start:}

  // mask := LVCF_TEXT or LVCF_FMT or LVCF_IMAGE;

mask := LVCF_TEXT or LVCF_FMT;

  if FImageIndex >= 0 then

    mask := mask or LVCF_IMAGE;

  { PATCH :end }

  {...}

end;

 

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить