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

Вниз

ExtractAssociatedIcon под XP   Найти похожие ветки 

 
_Ed_ ©   (2002-12-04 06:44) [0]

Уважаемые Мастера!
Кто нибудь может подсказать, почему API-фукция
ExtractAssociatedIcon прекрасно работает под Win98,
но под XP выдаёт нулевой хендл?
______________________________________________________
Доп. сведения: икону запускающего exe-шника извлекает,
всё остальное - нет... :((

Заранее благодарен, Сердюк Э.С.


 
Song ©   (2002-12-04 08:28) [1]

Ошибка в 17-ой строке.


 
_Ed_ ©   (2002-12-04 12:58) [2]

извиняюсь за назойливость, но 17-я строка чего, ShellAPI.pas?
В ней объявление начала интерфейса:

interface

или дело в shell32.dll, где эта функция зашита?
Пожалуйста, можно подробнее
(что бы можно было исправить глюк)...


 
_Ed_ ©   (2002-12-04 14:22) [3]

Song <song@kmtn.ru>:

> когда говорят "Ошибка в 17-ой строке", имеют ввиду "покажи
> код. Без кода
> невозможно тебе помочь". Эта идиома ещё из фидо

прости ламера :)

привожу код (по памяти, т.к. пишу с работы)


... SomeBtn.OnClick(Sender : TObject)
var icon : TIcon;
i : integer;
begin
icon := TIcon.Create;
i := 0; // пробовал и 1 - d 98 c i:=0 работает
// файл anyfile существует и в 98 из него икона тянется!
icon.Handle := ExtractAssociatedIcon(
HInstance,
PChar("c:\AnyPath\anyfile.anyextention"), i );
// не помню точно порядок следования параметров в
// DrawIcon, но кажется так:
DrawIcon (MainForm.Canvas.Handle, 10, 10, icon.Handle);
icon.Free;
end;


так вот, под XP это всё работает, только если в качестве файла передать PChar(Application.Name);

е ещё: я протрахался пол ночи, пробовал разные варианты. Понимая что filename - это указатель и строка может измениться после вызова ExtractAssociatedIcon, я резервировал буфер и передавал указатель на него, но всё это фигня, т.к. этот код работает под 98...

Может у меня с тачкой или с делфями глюк? просто это очень странно. Буду очень благодарен за посильную помощь!

С уважением, Сердюк Э.С.


 
Song ©   (2002-12-04 14:26) [4]

Тебе было в падлу моё мыло из ответа вытащить?!!


 
Song ©   (2002-12-04 14:28) [5]

i должно быть не меньше единицы



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

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

Наверх




Память: 0.48 MB
Время: 0.018 c
1-62589
BlackTiger
2003-01-08 20:52
2003.01.20
Работал кто-нибудь с мультимедиа-клавиатурами?


14-62774
Сатир
2002-12-28 13:33
2003.01.20
Задача для разминки мозгов - практичный вариант


14-62840
Seriy
2003-01-03 08:20
2003.01.20
Удаление всех файлов из каталога кроме одного, например index.dat


6-62719
Ryser
2002-11-13 10:24
2003.01.20
Получение видео с удаленной WEB камеры


14-62738
Prooksius
2002-12-25 23:09
2003.01.20
Программа для чтения news-конференций