![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Использование встроеных ресурсов [D7, WinXP]
Mr.Devil © (2007-01-18 09:48:00)Пытаюсь извлечь из своего приложения, например, иконку ехе-файла, возникает ошибка "EResNotFound". Что у меня не так? Ресурс 'MAINICON' точно есть.
procedure TForm1.Button1Click(Sender: TObject);
var icon:TbitMap ;
begin
icon:=TBitMAp.Create;
icon.LoadFromResourceName(HInstance,'MAINICON');
form1.Canvas.Draw(0,0,icon);
icon.Free;
end;
Mr.Devil (2007-01-18 11:28:00) [1]Хммм... вставил твой код, работает.. тока иконка отображается не та, что в проводнике видна, а как на досовских ехе-шниках. Но суть я понял.
И я нашел ошибку :))))
У тебя "(hInstance, 1, RT_ICON)"
А у меня "(HInstance, 1, 'RT_ICON')"
Фсем спасибо! :)
Сергей М. (2007-01-18 11:10:00) [2]
> Mr.Devil © (18.01.07 11:04) [6]
> Тоже не работает
У меня все работает.
Mr.Devil (2007-01-18 11:04:00) [3]
> rs := TResourceStream.CreateFromId(hInstance, 1, RT_ICON);
Тоже не работает :( Пишет "Ошибка чтения по адресу 00000001"
Попробовал так:
procedure TForm1.Button1Click(Sender: TObject);
var R:TResourceStream;
ResType: PChar;
begin
ResType:='RT_ICON';
R:=TResourceStream.CreateFromID(HInstance,1,ResType);
R.Free;
end;
Сергей М. (2007-01-18 10:42:00) [4]
> Mr.Devil © (18.01.07 10:16) [3]
Ресурс с именем 'MAINICON' имеет тип RT_GROUP_ICON, а не RT_ICON.
Интересующая тебя иконка имеет ID=1, грузи ее так:
procedure TForm1.Button1Click(Sender: TObject);
var
rs: TResourceStream;
icon: TIcon;
begin
icon:= TIcon.Create;
rs := TResourceStream.CreateFromId(hInstance, 1, RT_ICON);
icon.LoadFromStream(rs);
self.Canvas.Draw(0,0,icon);
icon.Free;
rs.Free;
end;
MBo (2007-01-18 10:23:00) [5]метод TBitmap.LoadFromResourceName ищет ресурс с типом RT_BITMAP и именем 'MAINICON', которого, естественно, нет
Mr.Devil (2007-01-18 10:16:00) [6]Ошибка возникает здесь
icon.LoadFromResourceName(HInstance,'MAINICON');
К тому же с битмапом та же фигня получается.
MBo (2007-01-18 10:08:00) [7]MAINICON - иконка, а не битмап
Mr.Devil (2007-01-18 09:55:00) [8]Вот как [url= http://delphimaster.ru/cgi-bin/faq.pl?look=1&id=988622425&n=19]тут[/url]написано тоже не работает..