Hallo Delphianer,
ich hätte mal wieder eine Frage zu dem Thema "Best Practice". Wie verwaltet man am besten und am sinnvollsten Fehler-, Hinweis- und Warnmeldungen? In meinem Fall handelt es sich
nicht um eine Anwendung, welche in mehreren Sprachen zur Verfügung stehen muss. Wenn das aber mit einer Lösung eurerseits auch abgefrühstückt werden kann, dann immer her damit.
Es gibt ja mehrere Ansätze dazu:
- Speicherung direkt im SourceCode
- Speicherung in einer Datenbank
- Speicherung in einer externen Datei
- ...
Zur Zeit habe ich meine Meldungen als Konstanten immer in einer Projektdatei abgelegt. Diese wurden dann beim Aufruf eines MessageDlg einfach nur übergeben (z.B. so
MessageDlg(ERROR_SOMEERROR, mtError, [mbOk], 0);
).
In einem anderen Projekt wollte ich dann auf ErrorCodes umsteigen welche intern und auch von DLLs beim Aufruf von Funktionen zurückgegeben werden sollen. Diese ErrorCodes müssen aber ja auch wieder zu einer lesbaren Meldung umgewandelt werden. Also hatte ich auch hier eine bzw. mehrere Konstanten Dateien (eine für Error, eine für Warnungen, eine für Hinweise), in der jeweils der ErrorCode und die zugehörige Meldung in einem TDictionary gespeichert wurden.
So eine Datei wird dann natürlich schnell übersichtlich und man muss auch immer auf die korrekte Fortschreibung der Fehlercodes achten. Ein automatisches Hochzählen der ErrorCodes (wie das bei der Speicherung in einer
SQL Datenbank gemacht werden könnte) kann auch ganz schnell ins Auge gehen. Denn dann passen die im SourceCode ausgegebenen Fehlercodes evtl. nicht mehr zu den Meldungen die in der Tabelle stehen.
Meine Frage an euch: Wie löst ihr so etwas? Was hat sich bei größeren Projekten bei euch bewährt? Ein Beispiel zu der jeweiligen Lösung wäre (je nach Schwierigkeitsgrad) auch ganz schön.