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

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

Проблема со вставкой ресурсов в ехе-файл [D5, D6, D7, WinXP]


Jetus ©   (2004-09-02 00:31:00) 

Мастера, помогите решить такую проблему.
Я при помощи функций BeginUpdateResource(), UpdateResource() и EndUpdateResource занёс в ехе-шник свою иконку. Потом я просмотрел этот ехе-шник при помощи ResHacker'a. Иконка (сам ресурс) там появилась, но не отображалась, как остальные. В чём же проблема?
Вот кусок кода, который у меня всё делает:

procedure TForm1.Button1Click(Sender: TObject);
var
 FileWnd : THandle;
 Ico: TIcon;
begin
 FileWnd := BeginUpdateResource('C:\nine\nine.exe', FALSE); // Наш ехе-шник
 Ico := TIcon.Create;
 Ico.LoadFromFile('C:\my_icon.ico'); // Моя иконка
 if UpdateResource(FileWnd, RT_ICON, '1', LANG_RUSSIAN, Ico, 766) then
   Label1.Caption := 'Success!' else Label1.Caption := 'Failed...';
 EndUpdateResource(FileWnd, FALSE);
 Ico.Free;
end;

766 - это размер моей иконки.

С текстом у меня всё нормально, а вот с иконкай лажа. В чём же баг?


Jetus   (2004-09-03 01:04:00) [1]

Попробовал - ситуация не изменилась: ресурс появляется, но не просматривается, как остальные иконки-ресурсы :( Какие еще будут предложения?


Digitman   (2004-09-02 08:28:00) [2]


> В чём же баг?


ms: TMemoryStream;
...

Ico.LoadFromFile('C:\my_icon.ico');
ms := TMemoryStream.Create;
try
Ico.SaveToStream(ms);
if UpdateResource(FileWnd, RT_ICON, '1', LANG_RUSSIAN, ms.Memory, ms.Size) then ...
finally
ms.Free;
end;


Наверх

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