Вверх ↑
Ответов: 1931
Рейтинг: 174
#1: 2016-05-07 22:21:50 ЛС | профиль | цитата
AZot писал(а):
В методе doMT_LoadExtIcon, переменной idx назначается тип word (строка 490),
хотя в описании функции ExtractIconEx, где она используется, предполагается integer.
В связи с этим функция не может получить правильную иконку из ресурса, если используется отрицательный индекс.


Подтверждаю. И мне тоже интересно, почему так (word вместо integer). Не лучше ли исправить?

AZot, а для тебя вот какие решения:
1. Задать индекс через положительное число
2. Чтобы поиск работал без указания пути, надо задать текущую папку вот так:
Add(MainForm,12177415,98,203)
{
 Position=1
 link(onCreate,2765331:doEvent1,[])
}
Add(WorkIconsManager,15999030,434,329)
{
 IconToBmp=0
 Point(doMT_LoadExtIcon)
 Point(onExtIcon)
 Point(IconsFileName)
 link(onExtIcon,8957580:doLoad,[])
}
Add(Image,8957580,490,336)
{
 Left=250
 Top=80
 Width=48
 Height=48
 ViewStyle=0
}
Add(DoData,7058606,294,343)
{
 link(onEventData,10214300:doWork2,[])
 link(Data,9938002:Text,[])
}
Add(HubEx,10214300,336,343)
{
 link(onEvent,11851668:doMT,[])
}
Add(MT_String,11851668,371,336)
{
 Delimeter=","
 link(onResult,15999030:doMT_LoadExtIcon,[])
}
Add(Edit,7935191,294,175)
{
 Left=10
 Top=40
 Width=225
 Text="c:\windows\system32\cryptui.dll,8"
 link(onChange,12875447:doWork1,[(340,181)])
}
Add(WorkIconsManager,7895117,434,210)
{
 IconToBmp=0
 Point(doMT_LoadExtIcon)
 Point(onExtIcon)
 Point(IconsFileName)
 link(onExtIcon,12048265:doLoad,[])
}
Add(Image,12048265,490,217)
{
 Left=250
 Top=25
 Width=48
 Height=48
 ViewStyle=0
}
Add(DoData,4136939,294,224)
{
 link(onEventData,12875447:doWork2,[])
 link(Data,7935191:Text,[])
}
Add(HubEx,12875447,336,224)
{
 link(onEvent,9010979:doMT,[])
}
Add(MT_String,9010979,371,217)
{
 Delimeter=","
 link(onResult,7895117:doMT_LoadExtIcon,[])
}
Add(Hub,2765331,210,217)
{
 OutCount=3
 link(onEvent1,4182595:doData,[(242,223)(242,125)])
 link(onEvent2,4136939:doData,[])
 link(onEvent3,7058606:doData,[(242,237)(242,349)])
}
Add(Edit,9938002,294,294)
{
 Left=10
 Top=95
 Width=225
 Text="cryptui.dll,8"
 link(onChange,10214300:doWork1,[(340,300)])
}
Add(Dir,340763,308,112)
{
}
Add(DoData,4182595,259,119)
{
 Data=String(c:\windows\system32\)
 link(onEventData,340763:doCurrentDir,[])
}


карма: 9
1
Голосовали:RAWY