Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Logikfrage: Wie Fehler sammeln und abarbeiten? (https://www.delphipraxis.net/101800-logikfrage-wie-fehler-sammeln-und-abarbeiten.html)

Assertor 18. Okt 2007 09:54


Logikfrage: Wie Fehler sammeln und abarbeiten?
 
Hallo,

ich brauch mal Eure Hilfe. :?:

Ich habe eine Anwendung, die verschiedene Fehler behandelt. Der Status wird per Icon und Text (Label) angezeigt.

Nun überlege ich, wie ich die ganzen Informationen verarbeiten kann. Es können an verschiedenen Stellen Fehler auflaufen. Falsche Einstellungen, Druckerprobleme, Datenbankprobleme, IPC vom Service kann Fehler melden etc.pp.

Wie kann man das für den Benutzer ergonomisch verarbeiten? Ich habe für das Icon 3 Zustände: Ok, Warnung und Fehler.

Je nach Schweregrad, wird es zugeordnet (theoretisch).

Ich überlege, in Richtung einer FiFo-Liste zu gehen - In-Memory Fehlerprotokoll und prüfen, ob er schon mal gemeldet wurde (dann nicht neu triggern) und wenn es einer "Fehler" ist, die weitere Ausführung unterbinden. Auch in den Threads per Pause bzw. Terminate. :wiejetzt:

Alles klar soweit? Habt Ihr hier Anregungen, z.B. gedankliche Lösungen aus Euren Projekten?

Kein Source, nur Ideen bitte ;)

Gruß winkel79

:dp:

OregonGhost 18. Okt 2007 10:56

Re: Logikfrage: Wie Fehler sammeln und abarbeiten?
 
Ich hatte in einer Anwendung mal folgendes Konzept:
Es gibt verschiedene Fehlerklassen (entspricht bei dir OK, Warnung, Fehler). "Show-Stopper" sind dabei nur echte Fehler. Es gibt eine zentrale Stelle, die nicht nur Fehler, sondern jegliche Art von Statusmeldungen annimmt und zwar hierarchisch. Dazu gab es dann quasi ein Start/Stop-Group, und ein SetStatus für die einzelnen Punkte. Jeder Punkt, der Unterpunkte enthielt, bekam automatisch den "schlechtesten" Status seiner Unterpunkte. Der Logviewer schließlich war dann ein Treeview, in dem man die Punkte anschauen konnte. Alles, wo Fehler aufgetreten waren, war automatisch aufgeklappt (Fehler sind relativ selten aufgetreten). Die positiven Meldungen kann man natürlich auch einfach "wegfiltern", sind aber manchmal ganz angenehm, um zu sehen, wie ein richtig ausgeführter Vorgang ablaufen sollte.
Edit: Was jetzt noch nicht ganz klar aus dem Text wurde, ist folgendes: Wann immer eine Aktion ausgeführt wurde, hat sie ein StartGroup zu Beginn und ein EndGroup am Ende ausgeführt (und in seltenen Fällen noch dazwischen, die Hierarchie ergibt sich meistens aber schon daraus, dass eine Aktion auch andere Aktionen ausführen kann) und hat alle einzelnen Vorgänge geloggt, insbesondere soweit sie entweder länger dauern konnten (damit der Benutzer sie sieht) oder fehlschlagen konnten.

Allerdings gab es da keine Prüfung, ob ein Fehler schonmal gemeldet wurde (die normale Anzeige ist in der Statusbar, im Log sollten ohnehin alle Fehler enthalten sein), und es gab zwar mehrere Threads, aber nicht aus Sicht der GUI.

Assertor 19. Okt 2007 14:37

Re: Logikfrage: Wie Fehler sammeln und abarbeiten?
 
Hallo OregonGhost,

erstmal vielen Dank für die Antwort. Das ist eine gute Idee. Besonders gefällt mir die automatische Gruppeneinstufung.

Ich schreibe natürlich bereits ein Log, sowohl aus dem Dienst als auch aus der Anwendung. Eine visuelles Log wäre auch eine Möglichkeit, so kann der Benutzer ja besser nachvollziehen, was passiert ist.

Ich mach mir nochmal Gedanken. Ich muß mir überlegen, ab wann ein gemeldeter Fehler ungültig wird. Z.B. wenn der Download nun plötzlich doch klappt.

Gruß winkel79


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:29 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz