DLL für Errorhandling erstellen
-
Hallo Forum,
ich möchte eine DLL erstellen, die ich als Errorhandling nutzen kann.
Ich möchte jeweils Arrays erzeugen, um dann in der Applikation diese abzufragen.
Beispiel:
Array1=
0;Kurze Fehler Beschreibung;Lange Fehlerbeschreibung;
1;ect. ect.
In der Applikation habe ich zum Beispiel Error 0 für Array1. Jetzt möchte ich jeweils die kurze und die lange Fehlerbeschreibung in der Applikation anzeigen. Da ich mehrere verschiedene Errorhandles habe, dachte ich mir, das diese Variante die Beste ist.
Hat jemand Erfahrung damit? Wie binde ich die DLL so ein, das ich sie in der gesamten Applikation nutzen kann? Wie definiere ich die verschiedenen Arrays in der DLL?
Ich entwickle mit Borland C++ Builder 6.
Ist es im nächsten Schritt auch möglich, in der DLL eine Verbindung zu einer Datenbank zu erstellen, die dann die Fehlermeldungen ausgibt?Mit Grüßen
Tobias Arend
-
Also grundsätzlich kannst du auch die Datenbankanbindung realisieren.
Aber vielleicht solltest du doch eher mit statischen Bibliotheken anfangen.
Hast du denn damit schon Erfahrungen?
Wenn man erst mal eine ausgereifte Bibliothek hat, kann man sie ja später noch als DLL auslagern.Das mit den Fehlerstrings machst du z.B. so:
#include <iostream> using namespace std; static const char* Fehler[4] ={"Weiss auch nicht", "Platte putt","Nix Speicher","Alles sinnlos"}; const char* GetError(unsigned int Nr) { if (Nr > 3) Nr=0; return Fehler[Nr]; }
-
Hi,
danke für Deine schnelle Antwort.
Auf Deine Frage nach meiner Erfahrung, nun ich hantiere seit 5 Monaten mit c++ rum, aber ich würde mich noch als Anfänger bezeichnen, da ich mich seit 8 Jahren ausschliesslich um Datenbanken gekümmert habe.
Dein Vorschlag das "Errorhandling" in die einzelnen CPP Seiten einzubinden sehe ich als problematisch an. Denn es sind bereits eine Menge an Fehlercodes entstanden und diese alle aktuell zu halten könnte problematisch sein. Daher ist eine Zentrale Stelle doch besser oder? Wenn sich was ändert, kann ich einfach das Array erweitern und so neue Fehlerinterpretationen hinzufügen.
Als einfaches Beispiel nutze ich eine Sicherheits-API für den Kopierschutz (Dongle) und allein diese hat schon 35 Fehlercodes.
Viele GrüßeTobias Arend
-
Nun ja, also das ist aber eigentlich keine Problematik, für die man unbedingt eine DLL braucht.
Bist du dir denn so sicher, dass auch deine zukünftigen Programme dieses Modell der Fehlerzuordung nutzen werden, dass du unbedingt eine DLL möchtest?
Ansonsten halte ich eine Funktion (vielleicht in einer statischen Library), die in einer externen Textdatei den Text sucht, für geeigneter.
Oder du nimmst Resourcedateien.
-
Hi,
jepp, eine DLL wäre meiner Ansicht nach die ideale Lösung, da es mehrere Applikationen geben wird, die alle auf den selben Errorhandlings basieren werden.
Allein schon die Security-API wird immer die Selbe sein.
Viele GrüßeTobias Arend
-
Ja, ok,
dann bleibt die Möglichkeit einer zentralen Fehlerdatei.
Deren Ort kannst du ja in der Registry-Speichern.
Am Besten in den Ordner Programme\GemeinsameDateienSo macht es Borland ja selbst. (Sie nennen ihr Verzeichnis Borland Shared).
-
Hi,
erstmal frohes Neues...Kannst Du mir nen Tip geben, wie ich die DLL am bestem designen sollte?! Und wie binde ich diese in die Anwendung ein, um sie überall nutzen zu können.
Grüße
Tobias Arend