TIconMap = TDictionary<TDeviceIcon, TIndex>;
der Compiler will unbedingt TDeviceIcon, TIndex.
Ist das dann nicht der Fehler?
Genau, da hast du nur das
T
vergessen.
Delphi-Quellcode:
procedure TAudioVolume.Dictionary(Index: TIndex; DeviceIcon: TDeviceIcon);
var
IconMap: TDictionary<DeviceIcon, TIndex>; // <-- TIndex statt Index
bzw. da du dir ja schon einen Typ definiert hast, am besten:
Delphi-Quellcode:
procedure TAudioVolume.Dictionary(Index: TIndex; DeviceIcon: TDeviceIcon);
var
IconMap: TIconMap;