AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Mitprotokollieren, was im Programm angeklickt wurde
Thema durchsuchen
Ansicht
Themen-Optionen

Mitprotokollieren, was im Programm angeklickt wurde

Ein Thema von RWarnecke · begonnen am 13. Mär 2010 · letzter Beitrag vom 14. Mär 2010
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#1

Mitprotokollieren, was im Programm angeklickt wurde

  Alt 13. Mär 2010, 15:55
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.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman
Online

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.292 Beiträge
 
Delphi 12 Athens
 
#2

Re: Mitprotokollieren, was im Programm angeklickt wurde

  Alt 13. Mär 2010, 16:09
Hallo...

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ß
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#3

Re: Mitprotokollieren, was im Programm angeklickt wurde

  Alt 13. Mär 2010, 17:02
Zitat von haentschman:
.. Das bedeutet... Viel Spaß
In der Tat : ist ein leichtes. Schätze mal 2 Min. Aufwand. AAAAber : das setzt vorraus, dass auch auf Form Ebene OOP eingesetzt wird. Man baut sich das Protokollierungs-OnClick zusammen für die Grundform und vererbt davon einfach weiter. Oder nur eine Form ? Grundsätzlich würde es jedenfallse so gehen :

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.
Gruß
Hansa
  Mit Zitat antworten Zitat
daywalker9

Registriert seit: 1. Jan 2010
Ort: Leer
594 Beiträge
 
Delphi XE3 Professional
 
#4

Re: Mitprotokollieren, was im Programm angeklickt wurde

  Alt 13. Mär 2010, 17:31
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.
Lars
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#5

Re: Mitprotokollieren, was im Programm angeklickt wurde

  Alt 13. Mär 2010, 18:02
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.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman
Online

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.292 Beiträge
 
Delphi 12 Athens
 
#6

Re: Mitprotokollieren, was im Programm angeklickt wurde

  Alt 13. Mär 2010, 18:13
[OT]
Zitat:
...und durch die Erklärungen des Users herausbekommen warum der Fehler auftritt.
...ein aussichtsloses Unterfangen
[/OT]
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#7

Re: Mitprotokollieren, was im Programm angeklickt wurde

  Alt 13. Mär 2010, 18:17
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.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.345 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Mitprotokollieren, was im Programm angeklickt wurde

  Alt 13. Mär 2010, 18:41
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.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#9

Re: Mitprotokollieren, was im Programm angeklickt wurde

  Alt 13. Mär 2010, 18:52
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 ? ). 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 ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Astat

Registriert seit: 2. Dez 2009
Ort: München
320 Beiträge
 
Lazarus
 
#10

Re: Mitprotokollieren, was im Programm angeklickt wurde

  Alt 13. Mär 2010, 22:51
Zitat von RWarnecke:
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.
Hallo RWarnecke, mir einem localen (nur für das betreffende Programm) installierten Mouse und Keybordhook
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
Lanthan Astat
06810110811210410503210511511603209711003210010110 9032084097103
03211611111604403209711003210010110903210010510103 2108101116122
11610103209010110510810103206711110010103210511003 2068101108112
10410503210310111509910411410510109810111003211910 5114100046
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:58 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