Перейти к содержанию
Fire Monkey от А до Я
  • 0

AV при загрузке иконки или картинки


Winexcel

Вопрос

Здравствуйте! Пытаюсь добавить иконку к каждому пункту меню через TPopupMenu, сделал следующий стиль, добавил в TImageList нужные картинки, указал нужные иконки в каждом TMenuItem'е, запустил программу, вызвал меню и получил AV, в результате чего такое может быть? Прикрепил исходник

 

ScreenShot.png

Архив ZIP - WinRAR.zip

Изменено пользователем Winexcel
Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Ваш пример работает нормально на 10 Seattle.
На Берлине действительно AV. Похоже ошибка в исходниках:

function TMenuItem.HasOffsetOfGlyph: Boolean;
begin
  Result := (FGlyph <> nil) and FGlyph.BitmapExists and not FGlyphObject.IsChild(FGlyph);
end;

здесь FGlyphObject = nil.
Либо надо править исходники, либо ждать что скажет @RoschinSpb

Ссылка на комментарий
  • 0
1 час назад, enatechno сказал:

либо ждать что скажет @RoschinSpb

Во-первых RoschinSpb попросит передать горячий и пламенный привет в QC.

Во-вторых, если Вы создаете свой собственный стиль, то лучше бы соблюдать стандартную структуру стилевых объектов FGlyphObject это, как не сложно догадаться, стилевой элемент 'glyph'. Он содержит галочку и картинку. Возможно также что картинка будет располагаться не поверх галочки (как в Windows), а рядом с галочкой как в Mac. В этом случае glyphstyle будет расположена не внутри glyph, а рядом.

MenuItem.png.6cb4016bcf30b19b2e2c63a429fc32a4.png

В-третьих, если Вам просто требуется использовать ImageList, то нет смысла создавать свой стиль. Если Вы тренируетесь в создании стилей, то надо изучать соответствующий раздел и, скорее всего, исходники тоже.

Ссылка на комментарий
  • 0

Проблема в стиле. Если его удалить, или загрузить другой то все работает.

Загрузите любой стиль например c:\Users\Public\Documents\Embarcadero\Studio\18.0\Styles\Win10Modern.Style и используйте его или если нужен свой, то посмотрите как там делается menuitemstyle.

Там TLayout - со Stylename = glyph  и на нем лежит TGlyph с Stylename - glyphstyle.

 

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...