Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как прочитать картинку GIF из DLL?


alles ©   (2006-08-11 11:35:00) 

Здраствуйте.
С bitmap-ами разбирался, вот так
Glyph.LoadFromResourceName(NewHndl,'Edit');
а с GIF говорит что нету такое имя в ресурсе
спасибо


alles   (2006-08-11 18:10:00) [1]

все получилось, вопрос закрыт


alles   (2006-08-11 16:43:00) [2]

ребята нашел хэндл картинки из длл-ки и создал Stream вот так
NewHndl:=LoadLibrary('util.dll');
qResStream := tResourceStream.Create( NewHndl, 'steps',RT_RCDATA);
AdvImage1.Picture.Graphic.LoadFromStream(qResStream); << Тут дает AV
Так понял что AdvImage1.Picture.Graphic еше не создан, как его создать. Я нашел в инете пример как работать с TJPEGImage и там он создается так
Image1.Picture.Graphic:=TJPEGImage.Create
но это у меня не получяется дает AV
AdvImage1.Picture.Graphic:=TGraphic.Create;


Ketmar   (2006-08-11 15:36:00) [3]

можно и так. в [5] намекнули. осталось покурить хэлп немного.


alles   (2006-08-11 12:47:00) [4]

текст ошибки какой?
Project k.exe raised exception class EResNotFound with message 'Resource steps not found'. Process stopped. Use Step or Run to continue.
нужно подключить спецмодуль от сторонних производителей для работы с GIF в TImage
я использую компонент TAdvImage который может показывать GIF файлы. Блин, через метод LoadImage(FileName) работает. Может как-то через TStream его грузить чтоли?


Desdechado   (2006-08-11 12:28:00) [5]

> с GIF говорит что нету такое имя в ресурсе
так и говорит?
текст ошибки какой?
нужно подключить спецмодуль от сторонних производителей для работы с GIF в TImage


Сергей М.   (2006-08-11 11:59:00) [6]

TBitmap не работает с GIF-форматом

Цитата из исходников:

procedure TBitmap.LoadFromResourceName(Instance: THandle; const ResName: string);
var
 Stream: TCustomMemoryStream;
begin
 Stream := TResourceStream.Create(Instance, ResName, RT_BITMAP);
 try
   ReadDIB(Stream, Stream.Size);
 finally
   Stream.Free;
 end;
end;


alles   (2006-08-11 11:57:00) [7]

2 Desdechado ©   (11.08.06 11:54) [3]
я писал в 1 про бмп, поменял я в steps как надо


Desdechado   (2006-08-11 11:54:00) [8]

steps
'Edit'
несколько отличаются, не правда ли?


alles   (2006-08-11 11:52:00) [9]

сделал текстовой файл aaa.rs в котором писАл
steps   GIF      "C:\GIF\steps.gif"
компилил этот файлик с утилиткой brcc32.exe и получил рес файл.
И потом в DLL-ке включил ааа.res


Сергей М.   (2006-08-11 11:46:00) [10]

А при чем здесь DLL ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо