Delphi World - Занесение сообшения в EventLog (Windows NT)
Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Занесение сообшения в EventLog (Windows NT)

Автор: Alex V. Novikov

Черт гуляет по чистилищу. В 1-ю дверь заходит, там крики, кого-то плетью хлещут. Во 2-ю заходит, там кого-то в котле варят. Заходит в 3-ю, там сидит за компьютером какой-то мужичок, тишина, спокойствие. Черт в недоумении бежит к Дьяволу.
- Чего там за такое?
- А, это? Да это Билл Гейтс. Его приговили программы для "Линукса" писать!!!

Я постоянно читаю конференции по дельфи и частенько встечается вопрос как занести свое сообщение в EventLog Windows NT. Недавно покопавшись в исходниках VCL я обнаружил такой интересный класс:


Unit SvcMgr;
{--Skip--}
{ TEventLogger }
TEventLogger = class(TObject)
  private
    FName: String;
    FEventLog: Integer;
  public
    constructor Create(Name: String);
    destructor Destroy; override;
    procedure LogMessage(Message: String; EventType: DWord = 1;
      Category: Word = 0; ID: DWord = 0);
  end;
{--Skip--}

С помощью этого класса можно легко заносить свои сообщения в EventLog, правда этот класс был замечен мною только в Delphi 5, на счет других версий я не уверен.

Пример использования:


with TEventLogger.Create('My Application') do
  try
    LogMessage('Страшенная ошибка');
  finally
    Free;
  end;

P.S. надеюсь это кому нибудь поможет

Проект Delphi World © Выпуск 2002 - 2017
Автор проекта: Эксклюзивные курсы программирования