Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.03;
Скачать: CL | DM;

Вниз

Как прочитать картинку GIF из DLL?   Найти похожие ветки 

 
alles ©   (2006-08-11 11:35) [0]

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


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

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


 
alles ©   (2006-08-11 11:52) [2]

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


 
Desdechado ©   (2006-08-11 11:54) [3]

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


 
alles ©   (2006-08-11 11:57) [4]

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


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

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;


 
Desdechado ©   (2006-08-11 12:28) [6]

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


 
alles ©   (2006-08-11 12:47) [7]

текст ошибки какой?
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 его грузить чтоли?


 
Ketmar ©   (2006-08-11 15:36) [8]

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


 
alles ©   (2006-08-11 16:43) [9]

ребята нашел хэндл картинки из длл-ки и создал 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;


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

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



Страницы: 1 вся ветка

Текущий архив: 2006.09.03;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.032 c
15-1154654602
DimonS
2006-08-04 05:23
2006.09.03
Создание панели инструментов


4-1146964023
Владимир
2006-05-07 05:07
2006.09.03
Перевод монитора в режим stand-by: грябли


2-1155529937
Yel
2006-08-14 08:32
2006.09.03
Создать новые объекты в рантайме


2-1155724290
mr_Frank
2006-08-16 14:31
2006.09.03
запись нескольких данных в одну строку


2-1155372371
Steplerr
2006-08-12 12:46
2006.09.03
CheckBox ы в TreeView е