TEventLog

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
Аватара пользователя
Ichthyander
энтузиаст
Сообщения: 701
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань
Контактная информация:

TEventLog

Сообщение Ichthyander »

Вопрос простой: можно ли в компоненте TEventLog сделат так, чтобы журнал не перезаписывался каждый раз заново при запуске приложения?
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

В имя файла журнала добавить время и дату (ну или любую случаную последовательность). Можно также автоинкремент.
PS
Я для себя этот модуль патчил на предмет того, чтобы файл журнала не открывался в монопольном доступе.
Аватара пользователя
Ichthyander
энтузиаст
Сообщения: 701
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань
Контактная информация:

Сообщение Ichthyander »

alexs писал(а):В имя файла журнала добавить время и дату (ну или любую случаную последовательность). Можно также автоинкремент.

Да, это идея. Так тоже можно, хотя с одним файлом было бы немного удобней.
Я для себя этот модуль патчил на предмет того, чтобы файл журнала не открывался в монопольном доступе.

Вот это тоже интересно. На патч можно глянуть?
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Код: Выделить всё

[alexs@alexs diffs]$ cat eventlog.diff 
Index: eventlog.pp
===================================================================
--- eventlog.pp   (revision 15259)
+++ eventlog.pp   (working copy)
@@ -245,6 +245,8 @@
     FFileName:=DefaultFileName;
   // This will raise an exception if the file cannot be opened for writing !
   FStream:=TFileStream.Create(FFileName,fmCreate or fmShareDenyWrite);
+  FStream.Free;
+  FStream:=TFileStream.Create(FFileName,fmOpenReadWrite or fmShareDenyWrite);
 end;
 
 Procedure TEventLog.DeActivateFileLog;
Ответить