summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormarco <marco@3ad0048d-3df7-0310-abae-a5850022a9f2>2011-03-13 01:17:34 +0000
committermarco <marco@3ad0048d-3df7-0310-abae-a5850022a9f2>2011-03-13 01:17:34 +0000
commit10ef93c27c30c3f028b428f9e4b4624dc65e19c1 (patch)
treeb6ac9c39467b780ac1af21393659f19f11d5a756
parenta4c2b108004a3c4cd4641db91d57e5d7a9eb9188 (diff)
downloadfpc-10ef93c27c30c3f028b428f9e4b4624dc65e19c1.tar.gz
* patch to allow append for TEventlog, from Ido. Mantis 18355
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@17127 3ad0048d-3df7-0310-abae-a5850022a9f2
-rw-r--r--packages/fcl-base/src/eventlog.pp13
1 files changed, 11 insertions, 2 deletions
diff --git a/packages/fcl-base/src/eventlog.pp b/packages/fcl-base/src/eventlog.pp
index 00c679abb4..d17d5881f5 100644
--- a/packages/fcl-base/src/eventlog.pp
+++ b/packages/fcl-base/src/eventlog.pp
@@ -29,6 +29,7 @@ Type
TEventLog = Class(TComponent)
Private
+ fAppendContent : Boolean;
FEventIDOffset : DWord;
FLogHandle : Pointer;
FStream : TFileStream;
@@ -84,6 +85,7 @@ Type
Procedure Info (const Msg : String); {$ifndef fpc }Overload;{$endif}
Procedure Info (const Fmt : String; Args : Array of const); {$ifndef fpc }Overload;{$endif}
Published
+ Property AppendContent : Boolean Read fAppendContent Write fAppendContent;
Property Identification : String Read FIdentification Write SetIdentification;
Property LogType : TLogType Read Flogtype Write SetlogType;
Property Active : Boolean Read FActive write SetActive;
@@ -240,12 +242,19 @@ begin
end;
Procedure TEventLog.ActivateFileLog;
-
+var
+ fFileFlags : Word;
begin
If (FFileName='') then
FFileName:=DefaultFileName;
// This will raise an exception if the file cannot be opened for writing !
- FStream:=TFileStream.Create(FFileName,fmCreate or fmShareDenyWrite);
+ if fAppendContent and FileExists(FFileName) then
+ fFileFlags := fmOpenWrite
+ else
+ fFileFlags := fmCreate;
+
+ fFileFlags := fFileFlags or fmShareDenyWrite;
+ FStream:=TFileStream.Create(FFileName,fFileFlags);
end;
Procedure TEventLog.DeActivateFileLog;