Функция ExtractIconEx
Добрый день, уважаемые программисты! Написал процедуру для извлечения иконок. Всё работает, но не смог до конца разобраться с функцией:
ExtractIconEx
Конкретно меня интересует, каким должен быть массив
WideChars: array[0..1000] of WideChar;
var Minicon: array[1..500] of TIcon;
Maxicon: array[1..500] of TIcon;
procedure LoadIcons(fname: String; lgImages, smImages: TImageList);
var smIconHandle, lgIconHandle: HICON;
i: integer;
WideChars: array[0..1000] of WideChar; {поставил 1000, потому что при малых значениях выдает ошибку}
begin
i:=0;
while Integer(ExtractIconEx(StringToWideChar(fname, WideChars, Length(fname)+1),i,lgIconHandle,smIconHandle,1))>0 do
begin
inc(i);
maxicon[i]:=TIcon.Create;
maxicon[i].Handle:=lgIconHandle;
lgImages.AddIcon(maxicon[i]);
minicon[i]:=TIcon.Create;
minicon[i].Handle:=smIconHandle;
smImages.AddIcon(minicon[i]);
end;
end;
Источник: Stack Overflow на русском