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

Доступ к изображениям в TImageList из DLL в Delphi 10.4

Delphi , Базы данных , Модуль данных

В данной статье мы рассмотрим вопрос доступа к изображениям в TImageList из DLL в Delphi 10.4. При разработке COM-сервера в формате DLL ShellExtension в Delphi 10.4, был добавлен DataModule, на котором было размещено TImageList. В этом TImageList были добавлены несколько изображений в режиме дизайна. Теперь, из основного модуля проекта DLL, пытаюсь получить доступ к изображению в TImageList:

procedure TMyShellExtension2.MyGetBitmap(ABitmap: Vcl.Graphics.TBitmap);
begin
  ABitmap.PixelFormat := pf24bit;
  ABitmap.Width := 128;
  ABitmap.Height := 128;
  DataModule.DataModule3.ilUrlPics.GetBitmap(0, ABitmap);
  CodeSite.Send('test');
end;

Однако, строка GetBitmap вызывала ошибку, так как следующая строка CodeSite.Send не выполнялась и изображение не назначалось.

Очевидно, что мой способ доступа к изображению из TImageList на DataModule внутри DLL неверен. С другой стороны, при назначении "созданного вручную" BitMap, все работает:

ABitmap.PixelFormat := pf24bit;
ABitmap.Width := 128;
ABitmap.Height := 128;
ABitmap.Canvas.Brush.Color := clBlue;
ABitmap.Canvas.FillRect(Rect(0, 0, 127, 127));

Существует ли другой рабочий способ доступа к изображению внутри DLL? Что я делаю не так?

После изучения различных комментариев и советов, было решено использовать ресурсы в качестве источника изображений в DLL. Это более предпочтительная методика, чем использование TImageList на TDataModule, который должен быть явно instancia

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

Статья описывает проблему доступа к изображениям в TImageList из DLL в Delphi 10.4 и предлагает использовать ресурсы в качестве альтернативного источника изображений.


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

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




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


:: Главная :: Модуль данных ::


реклама


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

Время компиляции файла: 2024-12-22 20:14:06
2025-07-26 02:32:52/0.010558128356934/0