Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 3 327

/ вопрос открыт /

Доброго времени суток, уважаемые эксперты!
Пытаюсь извлеч системные иконки и на этой строке ;
ListView1.SmallImages.Handle:= SysImageList; вылетает ошибка
Project Project 1 .exe raised exception class EAccessViolation with message 'Access violation at address 00473F64 in module 'Projectl.exe1. Read of address 0000003C.Затем программа работает ,но извлекает только большие иконки,код:фрагмент кода

igoriy Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: igoriy (статус: Посетитель)
Вопрос отправлен: 26 октября 2009, 10:57
Состояние вопроса: открыт, ответов: 2.

Ответ #1. Отвечает эксперт: min@y™

Посмотри вот этот компонент. Я его давно юзаю, нареканий нет пока.

З.Ы. Под виндовс 9х - не работает.

Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 26 октября 2009, 11:10
Оценка за ответ: 5

Ответ #2. Отвечает эксперт: Вадим К

Здравствуйте, igoriy!
Ошибка в том, что свойству ListView1.SmallImages не присвоен ни один ListImage. А так как ничего не присвоено, то и нельзя вызывать методы несуществующего объекта.
Но причиной может быть и присваивание Handle:= SysImageList; Для класса TIcon такое присваивание работает корректно - класс TIcon понимает такое и может вытянуть иконку по хендлу. А вот может ли ListImage вытянуть - не знаю, никогда так не делал.

Ответ отправил: Вадим К (статус: Академик)
Время отправки: 26 октября 2009, 11:28
Оценка за ответ: 4


Мини-форум вопроса

Всего сообщений: 4; последнее сообщение — 26 октября 2009, 18:43; участников в обсуждении: 3.
igoriy

igoriy (статус: Посетитель), 26 октября 2009, 11:14 [#1]:

Спасибо, компонент гляну ,но хотелось бы на будущее для развития знать в чем ошибка
min@y™

min@y™ (статус: Доктор наук), 26 октября 2009, 11:22 [#2]:

Цитата (igoriy):

но хотелось бы на будущее для развития знать в чем ошибка


Ну так пройдись дебаггером по коду. Телепатов у нас тут нету пока...
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Паровоз

Паровоз (статус: 10-ый класс), 26 октября 2009, 18:39 [#3]:

"в чем ошибка"

Замените
ListView1.StateImages:= TImageList.Create(self);
на
ListView1.SmallImages:= TImageList.Create(self);
igoriy

igoriy (статус: Посетитель), 26 октября 2009, 18:43 [#4]:

Паровоз спасибо , но я нашел уже ,называется невнимательность с моей стороны

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:38
Выполнено за 0.02 сек.