Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

### Ошибка `ERangeError` при установке стиля шрифта в `TListView` в Delphi 11: причины и решения

Delphi , Компоненты и Классы , TListView

Ошибка ERangeError при установке стиля шрифта в TListView в Delphi 11: причины и решения

При работе с компонентом TListView в Delphi 11 Alexandria на Windows 10 может возникнуть ошибка ERangeError. Это происходит в момент попытки установки стиля шрифта заголовка списка в жирный (BOLD) в обработчике события FormCreate.

Ошибка возникает в следующей строке кода:

hCurrFont := Winapi.Windows.SendMessage(hHeader, WM_GETFONT, 0, 0); // ERangeError

Причиной является некорректное определение типов переменных в коде. В частности, переменные FhHeaderFont, hCurrFont и hOldFont должны быть определены как HFONT, а переменная hHeader — как HWND.

Для исправления ошибки необходимо изменить типы переменных и привести типы возвращаемых значений из функций Windows:

hHeader := HWND(...);
hCurrFont := HFONT(Winapi.Windows.SendMessage(hHeader, WM_GETFONT, 0, 0));

Также следует использовать приведение типов для параметра wParam в вызове Winapi.Windows.SendMessage:

Winapi.Windows.SendMessage(hHeader, winapi.Messages.WM_SETFONT, WPARAM(FhHeaderFont), 1);

Важно помнить, что определение LVM_GETHEADER уже присутствует в модуле Winapi.CommCtrl и не требует повторного определения.

Ошибка ERangeError в данном случае является следствием несоответствия типов данных и неправильного использования функций Windows API. После внесения исправлений в код ошибка должна быть устранена.


Приведённый пример кода демонстрирует типичную проблему, с которой может столкнуться разработчик при работе с низкоуровневыми функциями Windows в Delphi. Важно тщательно проверять типы данных и использовать соответствующие приведения типов для корректной работы с функциями Windows API.

Создано по материалам из источника по ссылке.

Описание контекста: В Delphi 11 при работе с компонентом TListView возникает ошибка ERangeError, связанная с некорректным определением типов переменных при установке стиля шрифта.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: TListView ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2024-12-26 14:54:43/0.01124906539917/0