AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Kategorie im Eventlog

Ein Thema von Mr_G · begonnen am 17. Jun 2009 · letzter Beitrag vom 25. Jun 2009
Antwort Antwort
Benutzerbild von Mr_G
Mr_G

Registriert seit: 2. Sep 2004
Ort: Duisburg
468 Beiträge
 
Delphi 2006 Professional
 
#1

Kategorie im Eventlog

  Alt 17. Jun 2009, 22:05
Hallo zusammen,
ich habe mal nach dem Beispiel von Luckie versucht mittels ReportEvent Einträge im Windows-Eventlog zu machen. Das funktioniert auch ganz gut bis auf die Tatsache, dass meine Kategoriebeschreibung nicht angezeigt wird sondern nur eine Zahl.
Meine Message-Datei ist prinzipiell identisch mit der aus der Demo:
Code:
LanguageNames=(German=0x407:MSG00407)

MessageId=0x1
SymbolicName=MSG_DEMO_ENTRY
Language=German
Testeintrag von %1.
.

MessageId=0x1000
SymbolicName=CAT_1
Language=German
Testkategorie 1
.
Die Resource habe ich dann in das Programm mit einkompiliert und mittels FormatMessage in Kombination mit FORMAT_MESSAGE_FROM_HMODULE versucht die Strings testweise anzuzeigen. Sowohl die Kategorie als auch der Testeintrag lassen sich so problemlos anzeigen. Im Eventlog wird die Nachricht auch problemlos angezeigt, nur statt der Kategorie finde ich nur die entsprechende Zahl vor.
Hat jemand eine Idee woran das liegen könnte?
Jan
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#2

Re: Kategorie im Eventlog

  Alt 18. Jun 2009, 09:33
Hallo,

hast Du entsprechende Einträge in der Registry?

Delphi-Quellcode:
// Messagefile registrieren
procedure TReplikator.ServiceBeforeInstall(Sender: TService);
Var
    Reg : TRegistry;
begin
  Reg := TRegistry.Create;
  Reg.RootKey := HKEY_LOCAL_MACHINE;
  Reg.OpenKey('system\CurrentControlSet\Services\EventLog\Application\' + Self.Name,True);
  Reg.WriteString('EventMessageFile',ParamStr(0));
  Reg.WriteInteger('TypesSupported',7);
  Reg.CloseKey;
  Reg.OpenKey('system\CurrentControlSet\Services\Replikator\' + Self.Name,True);
  Reg.WriteString('Description','Repliziert die Daten der Vorortdatenbank in die Zentraldatenbank');
  Reg.CloseKey;
  Reg.Free;
end;

// Messagefile aus Registrierung entfernen
procedure TReplikator.ServiceAfterUninstall(Sender: TService);
Var
    Reg : TRegistry;
begin
  Reg := TRegistry.Create;
  Reg.RootKey := HKEY_LOCAL_MACHINE;
  Reg.DeleteKey('system\CurrentControlSet\Services\EventLog\Application\' + Self.Name);
  Reg.DeleteKey('system\CurrentControlSet\Services\Replikator\' + Self.Name);
  Reg.CloseKey;
  Reg.Free;
end;
Ansonsten: Hilft der dashier http://www.delphipraxis.net/internal...ct.php?t=76788?
  Mit Zitat antworten Zitat
Benutzerbild von Mr_G
Mr_G

Registriert seit: 2. Sep 2004
Ort: Duisburg
468 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Kategorie im Eventlog

  Alt 18. Jun 2009, 12:10
Leider funktioniert es immer noch nicht. Ich habe es mittlerweile auch mal mit einer extra DLL ausprobiert. Selbes Problem...
Hier mal meine Registry-Einträge für den Test:
Code:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\LogTestApp]
"EventMessageFile"="C:\\Users\\Jan\\Desktop\\Logging\\Dll\\Project1.dll"
"CategoryMessageFile"="C:\\Users\\Jan\\Desktop\\Logging\\Dll\\Project1.dll"
"CategoryCount"=dword:00000001
"TypesSupported"=dword:00000007
Wie gesagt: Die Beschreibung wird korrekt angezeigt, bei der Kategorie taucht nur die Zahl (4096) auf.
Jan
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#4

Re: Kategorie im Eventlog

  Alt 18. Jun 2009, 12:34
Hallo,

ich ahne da was, weiß aber nicht, ob ich richtig liege:

Du hast
Code:
"CategoryCount"=dword:00000001
= eine Kategorie.
Du hast aber auch
Code:
LanguageNames=(German=0x407:MSG00407)

MessageId=0x1 
SymbolicName=MSG_DEMO_ENTRY
Language=German
Testeintrag von %1.
.

MessageId=0x1000 
SymbolicName=CAT_1 
Language=German
Testkategorie 1 
.
Die MessageID ist 4096 (dez).
Ändere bitte den
Code:
"CategoryCount"=dword:00000001
mal in
Code:
"CategoryCount"=dword:00001000
und schaue, ob sich dann was ändert.
Alternativ:
Code:
"CategoryCount"=dword:00000001
auf
Code:
"CategoryCount"=dword:00000002
ändern und
Code:
MessageId=0x1000
auf
Code:
MessageId=0x0002
Die MessageID's und CatecoryCount müssen (vermutlich) zusammenpassen.
  Mit Zitat antworten Zitat
Benutzerbild von Mr_G
Mr_G

Registriert seit: 2. Sep 2004
Ort: Duisburg
468 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Kategorie im Eventlog

  Alt 18. Jun 2009, 15:15
So... nun habe ich nochmal alle erdenklichen Möglichkeiten durchprobiert. Leider ohne Erfolg
Zitat von nahpets:
Die MessageID's und CatecoryCount müssen (vermutlich) zusammenpassen.
Glaube ich zwar nicht aber ich hab auch mal die ID für die Kategorie und CategoryCount auf 1 gesetzt. Wie gesagt... es bleibt dabei: Im Feld Kategorie wird nur die Zahl (diesmal halt eine 1) angezeigt.
Jan
  Mit Zitat antworten Zitat
Benutzerbild von Mr_G
Mr_G

Registriert seit: 2. Sep 2004
Ort: Duisburg
468 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Kategorie im Eventlog

  Alt 22. Jun 2009, 07:54
Mittlerweile habe ich mal eine VM mit XP gebastelt und dort getestet: Wenn ich 0x1000 als ID für die Kategorie nutze funktioniert es auch dort nicht, wenn ich aber 0x1 nutze wird hier die Kategorie (anders als bei meinem System, Vista 64Bit) ohne Probleme angezeigt.
Muss ich bei Vista noch etwas beachten? Kennt jemand das Problem?
Jan
  Mit Zitat antworten Zitat
Benutzerbild von Mr_G
Mr_G

Registriert seit: 2. Sep 2004
Ort: Duisburg
468 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Kategorie im Eventlog

  Alt 25. Jun 2009, 09:01
*push*
Jan
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 11:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf