Eintrag in die Ereignisanzeige schreiben |
|
| System | Win9x, WinNT, Win2000, WinXP, Vista, Win7 |
|---|---|
| Ab Delphi-Version | Delphi 1 |
| Letzte Änderung | 28.09.2010 |
function TForm1.ErrorLog(app, msg: string; typ, fehlernr: integer): boolean;
var
hEventSource: THANDLE;
sstring: Array [0..1] of String;
ftyp: word;
begin
hEventSource := RegisterEventSource(nil, PChar(app));
case typ of
0: ftyp:=EVENTLOG_ERROR_TYPE; // Fehler
1: ftyp:=EVENTLOG_WARNING_TYPE; // Warnung
2: ftyp:=EVENTLOG_INFORMATION_TYPE; // Hinweis
3: ftyp:=EVENTLOG_AUDIT_SUCCESS; // Success Audit event
4: ftyp:=EVENTLOG_AUDIT_FAILURE; // Failure Audit event
end;
if hEventSource > 0 then
begin
sString[0] := app; // application
sString[1] := Msg; // message
ReportEvent(hEventSource,
ftyp, // event typ
1, // event category
fehlernr, // event identifier
nil, // user security identifier (optional)
2, // number of strings to merge msg
0, // size of binary data, in bytes
@sString, // array of strings to merge with msg
nil); // address of binary data
DeregisterEventSource(hEventSource);
end;
end;
Beispielaufruf:
procedure TForm1.Button1Click(Sender: TObject);
begin
ErrorLog('Mein Programm', 'Fehler beim Aufruf von...', 0, 1234);
end;