Einzelnen Beitrag anzeigen

Panthrax

Registriert seit: 18. Feb 2005
286 Beiträge
 
Delphi 2010 Enterprise
 
#1

typisierte Konstante definieren: const C: array [...] of TGUID = (...);

  Alt 16. Aug 2012, 09:10
Delphi-Version: 2010
Delphi-Quellcode:
type
  ISchnittstelle = interface
  end;

// TSchnittstelleClass = class of ISchnittstelle; {1}
// TSchnittstelleClass = interface of ISchnittstelle; {2}

  IEins = interface(ISchnittstelle)
    ['{3E88C3A1-8791-45C2-961D-41423855E863}']
  end;

  IZwei = interface(ISchnittstelle)
    ['{ED86F176-8E55-43BC-8BB2-8FAEB9E52D29}']
  end;

  TFormat = (ftEins, ftZwei);
{1} [DCC Fehler]: E2021 Klassentyp erwartet
{2} Gibt es nicht.


Ich möchte nun eine Konstante dieser Art definieren:

Versuch 1:
Delphi-Quellcode:
const
  Schnittstellen: array [TFormat] of TGUID = (
    IEins{3}, IZwei
  );
{3} [DCC Fehler]: E2010 Inkompatible Typen: 'TGUID' und 'AnsiString'

Versuch 2:
Delphi-Quellcode:
const
  Schnittstellen: array [TFormat] of AnsiString = (
    IEins{4}, IZwei
  );
{4} [DCC Fehler]: E2010 Inkompatible Typen: 'AnsiString' und 'TGUID'

Alternativ ist es möglich eine Variable zu deklarieren und sie dann im Quelltext zu füllen. Mir geht es aber ausdrücklich um eine Konstante. Wie geht's?
"Es gibt keine schlimmere Lüge als die Wahrheit, die von denen, die sie hören, missverstanden wird."
  Mit Zitat antworten Zitat