AZot писал(а):
В методе doMT_LoadExtIcon, переменной idx назначается тип word (строка 490),хотя в описании функции ExtractIconEx, где она используется, предполагается integer.
В связи с этим функция не может получить правильную иконку из ресурса, если используется отрицательный индекс.
Подтверждаю. И мне тоже интересно, почему так (word вместо integer). Не лучше ли исправить?
AZot, а для тебя вот какие решения:
1. Задать индекс через положительное число
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,[])
}