![]() |
Mitprotokollieren, was im Programm angeklickt wurde
Hallo zusammen,
wie kann ich am besten alles mitprotokollieren, was der Anwender in einem Delphi-Programm eingibt und welche Komponenten er wann und in welcher Reihenfolge anklickt. Edit: Ich bräuchte da eine schnelle und einfach Lösung für. |
Re: Mitprotokollieren, was im Programm angeklickt wurde
Hallo... :hi:
vor dem gleichen Problem stand ich auch allerdings nur für den Fehlerfall. Im Fehlerfall hat mir madExcept und der callstack geholfen. Ansonsten bleibt nur manuelle Implementierung. Das bedeutet... Viel Spaß :zwinker: |
Re: Mitprotokollieren, was im Programm angeklickt wurde
Zitat:
Delphi-Quellcode:
for i := 0 to ComponentCount - 1 do begin
c := Components [i]; if c is TButton then begin showmessage ((c as TButton).name); if c is TEdit then begin showmessage ((c as TEdit).name+' '+(c as TEdit).Text); // statt Showmessage natürlich OnClick, OnChange etc. entsprechend zuweisen. |
Re: Mitprotokollieren, was im Programm angeklickt wurde
Am einfachsten ist es die Buttons, Edits sich selber abzuleiten und bei Click, Exit aus einem Edit in eine globale Stringlist den Namen und das Event zB "Button1 / Click" reinzuschreiben und diese Stringlist dann zu speichern.
So machen wir das in der Firma. |
Re: Mitprotokollieren, was im Programm angeklickt wurde
Hallo zusammen,
danke erstmal für eure Antworten. Es geht dabei nicht um Fehler, die durch falsche Programmzeilen auftreten. Dafür habe ich Eurekalog und bin sehr damit zufrieden. Es geht mir hauptsächlich darum, um Fehler nachzuvollziehen zu können. Also den Weg aufzuzeichnen, wie der Fehler den mir ein User meldet zustande kommt. Zum jetzigen Zeitpunkt ist es mir zuviel Arbeit nochmal jedes einzelne OnClick-, OnExit- und OnChange-Ergeinis anzupacken und manuell eine entsprechende Routine einzubauen. Schade, dann muss ich eben durch spielen und durch die Erklärungen des Users herausbekommen warum der Fehler auftritt. |
Re: Mitprotokollieren, was im Programm angeklickt wurde
[OT]
Zitat:
[/OT] |
Re: Mitprotokollieren, was im Programm angeklickt wurde
Das stimmt haentschman. Aber was bleibt mir übrig, bei einem Projekt von über 20.000 Zeilen Code, wo jede Menge Ereignisse drin sind. Für das nächste Projekt bin ich schlauer und baue mir einen Debug-Modus mit ein. Wo ich dann den Debug-Modus über einen Startparameter aktiviere oder über einen Compilerschalter, wo ich dann entsprechend die EXE-Datei austausche.
|
Re: Mitprotokollieren, was im Programm angeklickt wurde
Du kannst Class Helper einsetzen. Das spart eine Menge Arbeit weil du die normalen Komponenten nutzen kannst und mit dem Class Helper diese Funktionalität nur hinzufügst. Zusammen mit dem Singleton Pattern für das Log-Objekt geht das sehr einfach.
Ob man alles so einfach loggen kann auf diese Art weiß ich nicht aber für meine Zwecke reichte es. |
Re: Mitprotokollieren, was im Programm angeklickt wurde
Hallo Sebastian,
irgendwie verstehe ich Deine Ausführungen noch nicht so richtig. Ich versuche mal meine Variante wiederzugeben. Das heißt also, man schreibt irgendwelche Helper (nur wie und was muss da rein ? :gruebel: ). Mit diesen Helpern kann ich dann die Aktionen und Ereignisse, die von Komponenten ausgelöst werden in eine LOG-Datei schreiben. Habe ich das so ganz grob richtig verstanden ? |
Re: Mitprotokollieren, was im Programm angeklickt wurde
Zitat:
kann das Programm dahingehend überwacht und aufgezeichnet werden. Die Deluxe Version verwendet zusätzlich einen JournalRecord-Hook um alle Aktionen aufzuzeichnen, und diese mit einem JournalPlayback-Hook wieder abzuspielen. [msdn]http://msdn.microsoft.com/en-us/library/ms644990(VS.85).aspx[/msdn] lg. Astat |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz