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

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

Экстракт иконки [D7, WinXP]


Grinder ©   (2004-01-08 14:55:00) 

Мастера. Скажите.
Вот код.

ExtractIconEx(PChar(progpath),0,a,tr,1);

Т.е. вытаскиваем из экзешника иконки.
У меня эта штука стоит на таймере. Т.е. через определенный момент времени этот код повторяется. Но есть проблема.
на 4934 повторении и далее постоянно tr обращается в 0. Почему? Ведь иконка существует и на повторениях до 4934 нормально берется ее handle.

Может кто скажет ответ? А то я в тупике.

Вот лог программы

[08.01.2004 13:41:05] - Cannot show tray icon. 4934
[08.01.2004 13:42:13] - Cannot show tray icon. 4934
[08.01.2004 13:43:20] - Cannot show tray icon. 4934

4934 - это значение счетчика на момент терминейта. Счетчик идет от 0.

procedure Tsystensfame.iconupdaterTimer(Sender: TObject);
var
a,tr:HIcon;
i:integer;
begin
i:=iconupdater.Tag;
iconupdater.Tag:=iconupdater.Tag+1;
ExtractIconEx(PChar(progpath),0,a,tr,1);
if tr<>0 then
tray.Icon.Handle:=tr
else
begin
Log("Cannot show tray icon. "+IntToStr(i));
Application.Terminate;
end;
tray.Refresh;
end;

В проге искользуется компонент TCoolTrayIcon (но он тут ни при чем вроде, т.к. ошибка на ExtractIconEx).

Спасибо.


Grinder   (2004-01-08 18:06:00) [1]

а спасибо
я про переменную a совсем забыл.


Grinder   (2004-01-08 17:44:00) [2]

Спасибо. Но где он тут нужен?


BiN   (2004-01-08 15:29:00) [3]

а где DestroyIcon !!!!!!!@#$#$@#@%$#%$(&&)%&


Наверх

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