Oder ohne
RTTI:
Delphi-Quellcode:
Const
cStatus : Array[TStatus] of String = (
'Ok',
'GenericError',
'InvalidParameter'
);
und dann einfach über:
cStatus[status]
darauf zugreifen.
Läuft unabhängig von der Delphi-Version und sauber internationalisiert werden
könnte ich machen..
Aber dann ändere ich die GDIP_API
Unit.
Was bedeutet ich muss alle Funktionen die auf GPStatus zugreifen wieder ändern. Oder?
gruss
Nein...TStatus wird ja nicht geändert. Du definierst dir einfach eine typisierte Konstante mit den benötigten Strings. Du benutzt einfach den Status (TStatus) als Index auf dein Konstanten-Array. Drops gelutscht.
Sowas kann man dann z.B. einfach internationalisieren
_(cStatus[status]);
Hier mal mit der Gnugettext-Funktion.
oder in dem Fall das es das Funktionsergebnis ist
ShowMessage(_(cStatus[SaveToPng(...)]));
Du kannst das ganze auch über ordinale Werte handhaben (ord(SaveToPng) bzw. IntToStr(SaveToPing)). Wär aber etwas umständlich
imho.