hallo,
wow, vielen dank für die ausführliche Antwort!
den code in den string einzuspeichern wäre eine idee, aber dann kann er auch lokalisiert werden, das möchte ich nicht dass der dolmetscher da was ändern kann
leider wird meine frage nicht beantwortet wie ich die liste aller Resourcestring-IDs meiner exe bekommen kann. sowas wie GetAllResourceStrings ist glaube ich nicht möglich.
das problem habe ich nun folgendermassen gelöst:
ich habe nun eine eigene Exceptionklasse implementiert die als Parameter einen Pointer auf einen Resourcestring überimmt.
Delphi-Quellcode:
constructor EResException.Create(const ResString: PResStringRec; const Postfix: String = '');
begin
Message := LoadResString(ResString)+Postfix;
Identifier := ResString.Identifier;
end;
der Exceptionhandler gibt den Identifier im Messagedialog aus.
inzwischen habe ich herausgefunden dass delphi entsprechend konfiguriert ein .drc file generiert. dort steht alles was ich brauche (Automatisch vergebener Identifier - für mich nun die Fehlernummer, resourcestringname, originalwert):
#define FHaupt_S_FHAUPT_OUTLOOK_KANN_NICHT_GESTARTET_WERDE N 64131
FHaupt_S_FHAUPT_OUTLOOK_KANN_NICHT_GESTARTET_WERDE N, "Outlook kann nicht gestartet werden"
zu einer exe kann ich also aus dem .drc file den zugehörigen resourcestring raussuchen, sowie die original-fehlermeldung
lg
marius