Главная страница
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.47 MB
Время: 0.019 c
3-62369
vopros
2002-12-24 16:24
2003.01.20
Есть Qreport там как известно настройка принтера и печать


1-62500
fifo
2003-01-10 13:07
2003.01.20
StringGrid объедин. ячеек


1-62447
grab3
2003-01-08 14:57
2003.01.20
Пара вопросов...


14-62822
Igorek
2002-12-31 22:23
2003.01.20
Кто как встретил Новый Год?


1-62576
MetallWarrior
2003-01-08 20:34
2003.01.20
Компонент для отображения HTML