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

Вниз

Получение иконки из exe-файла   Найти похожие ветки 

 
Alex_06   (2006-10-18 15:22) [0]

Уважаемые Мастера! Подскажите в чем моя ошибка: пытаюсь получить иконку из EXE-файла
var
ic: THandle;
begin
ic:=ExtractIcon(Hinstance, PChar(OpenDialog1.FileName),0);
if ic<>-1 then
begin
Image1.Picture.Icon.Handle:=ic;
Image1.Picture.SaveToFile ...
...
в итоге в Image иконка считывается нормально, а после сохранения имеет низкую глубину цвета. Как получить иконку соответствующую реальной?


 
Ketmar ©   (2006-10-18 16:46) [1]

использовать другие компоненты. например, от Rouse_(c). генофонод Delphi не дружит с иконками, где большие размеры или глубина цвета.


 
Alex_06   (2006-10-19 11:11) [2]

Если возможно, то хотелось бы иметь ссылку на рекомедуемые компоненты и (или) пример реализации. Спасибо.


 
Ketmar ©   (2006-10-19 11:29) [3]

запросто. в анкете Rouse_(c) есть ссылка. один гугль -- и http://rouse.drkb.ru/
а ещё один клик -- и http://rouse.drkb.ru/files/fwiconex.zip

зыж и чего я такой добрый-то?


 
Rouse_ ©   (2006-10-19 12:21) [4]

> зыж и чего я такой добрый-то?
Я тебе скоро медаль дам, за пиар меня любимого, где тока ни попадя :)
"Медаль Кетмару за заслуги перед... хм... "
Не, название нужно придумать нормальное :)


 
Alex_06   (2006-10-19 12:38) [5]

Скачал http://rouse.drkb.ru/files/fwiconex.zip, но FWIconEx_Only.dpk не желает инсталлироваться, выдаёт кучу ошибок. Может он для каких-то определённых версий Delphi и Windows или у меня отсутствует какая-то библиотека. У меня Delphi6 и Windows XP.


 
Ketmar ©   (2006-10-19 12:39) [6]

>[4] Rouse_(c) 19-Oct-2006, 12:21
>Я тебе скоро медаль дам, за пиар меня любимого, где тока
>ни попадя :)
это не пиар. это мне просто лениво пояснять с прошлого века, почему шпингалеты не такие. %-)


 
Rouse_ ©   (2006-10-19 12:41) [7]

Шестерка... хм, я для семерки затачивал...
попробуй вместо DesignIntf, DesignEditors написать DsgnIntf


 
Gero ©   (2006-10-19 22:31) [8]

> попробуй вместо DesignIntf, DesignEditors написать DsgnIntf

Не, это проблемы пятерки )


 
Rouse_ ©   (2006-10-19 23:00) [9]

Хм, тогда по идее должна собраться :)
Но мог что-то и забыть - есть у кого на шестерке возможность проверить?


 
Германн ©   (2006-10-20 00:08) [10]


> Rouse_ ©   (19.10.06 23:00) [9]
>
> Хм, тогда по идее должна собраться :)
> Но мог что-то и забыть - есть у кого на шестерке возможность
> проверить?

Попытался проверить и тоже получил кучу ошибок. Но ошибки какие-то "идиотские".
Правда у меня дома Д6 "недовылеченная" :-(


 
Rouse_ ©   (2006-10-20 00:17) [11]

Блин, хоть ошибки то озвучьте кто-нить :)


 
Gero ©   (2006-10-20 00:25) [12]

> Но ошибки какие-то "идиотские".

[Idiot Error] Line 112: Dont"t worry. Be happy.


 
Германн ©   (2006-10-20 00:26) [13]


> Rouse_ ©   (20.10.06 00:17) [11]
>
> Блин, хоть ошибки то озвучьте кто-нить :)
>

У меня они такие:
[Error] FWIconEx.pas(37): Undeclared identifier: "TCursorOrIcon"
[Error] FWIconEx.pas(578): Missing operator or semicolon
[Error] FWIconEx.pas(604): ")" expected but identifier "Count" found
[Error] FWIconEx.pas(605): Missing operator or semicolon
[Error] FWIconEx.pas(605): "DO" expected but identifier "Count" found
[Error] FWIconEx.pas(613): "END" expected but "FINALLY" found
[Error] FWIconEx.pas(616): "." expected but ";" found
[Fatal Error] FWIconEx_Only.dpk(34): Could not compile used unit "FWIconEx.pas"


 
Германн ©   (2006-10-20 00:33) [14]

А! Только сейчас удосужился всмотреться в Graphics.pas в Д6.
TCursorOrIcon в Д6 определено в implementation юнита Graphics.


 
Rouse_ ©   (2006-10-20 09:41) [15]

А... понятно, нужно было руками мне тип обьявлять, как и сделал вначале, зря отказался... Ну вытащите в тело класса декларацию :)


 
Alex_06   (2006-10-20 15:54) [16]

Может я чего-то не понял... Проделал предложенное. Компонент встал. Взял программу из Demo и переделал её так, чтобы она выдёргивала иконки из EXE-ков. И получил тот же эффект с которого начал тему. А хотелось бы не только выдёргивать красивые иконки, но и вставлять их в свои програмы. Спасибо.


 
Rouse_ ©   (2006-10-20 17:10) [17]

не пользуйся дельфевыми функциями работы с графикой - только АПИ, тогда цвета не будут биться.



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

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

Наверх




Память: 0.5 MB
Время: 0.061 c
2-1171535472
dzhagr1
2007-02-15 13:31
2007.03.04
Связь таблиц paradox7 в database desktop


2-1171439440
Kolan
2007-02-14 10:50
2007.03.04
Непойму как обработать Exception.


2-1171613987
reqty
2007-02-16 11:19
2007.03.04
Доступ на запись


2-1171611774
cando
2007-02-16 10:42
2007.03.04
бeбуфер обмена


15-1170538559
Евгенич
2007-02-04 00:35
2007.03.04
Что почитать, чтобы научиться писать код?