So wird es werden:
Delphi-Quellcode:
const
EinsGUID = '{3E88C3A1-8791-45C2-961D-41423855E863}';
ZweiGUID = '{ED86F176-8E55-43BC-8BB2-8FAEB9E52D29}';
type
IFormat = interface
{ ... }
end;
IEins = interface(IFormat)
[EinsGUID]
end;
IZwei = interface(IFormat)
[ZweiGUID]
end;
type
TFormat = (ftEins, ftZwei);
const
Formate: array [TFormat] of TGUID = (
EinsGUID, ZweiGUID
);
Für die GUIDs separate Konstanten zu definieren ist ein Kompromiss, der es ermöglicht, dass keine Zuordnungen verlorengehen und jede Information nur einmal angegeben wird. Schade, dass man nicht direkt die Schnittstellentypbezeichner nehmen kann - bei Variablen geht es ja...
Vielen Dank an Euch beide!