7
7
Author : Kike Pérez
8
8
Version : 1.2
9
9
Created : 11/09/2017
10
- Modified : 25 /01/2019
10
+ Modified : 29 /01/2019
11
11
12
12
This file is part of QuickLib: https://github.com/exilon/QuickLib
13
13
@@ -65,17 +65,18 @@ TFileMonitor = class(TThread)
65
65
fModifedDate : TDateTime;
66
66
fCurrentMonitorNotify : TMonitorNotify;
67
67
fOnChangeNotify : TFileChangeNotify;
68
- procedure Execute ; override;
69
- procedure SetStatus (Status : Boolean);
68
+ procedure SetEnabled (Status : Boolean);
70
69
procedure NotifyEvent ;
70
+ protected
71
+ procedure Execute ; override;
71
72
public
72
73
constructor Create;
73
74
destructor Destroy; override;
74
75
property FileName : string read fFileName write fFileName;
75
76
property Interval : Integer read fInterval write fInterval;
76
77
property Notifies : TMonitorWatch read fNotifies write fNotifies;
77
78
property OnFileChange : TFileChangeNotify read fOnChangeNotify write fOnChangeNotify;
78
- property Enabled : Boolean read fEnabled write SetStatus ;
79
+ property Enabled : Boolean read fEnabled write SetEnabled ;
79
80
end ;
80
81
81
82
TQuickFileMonitor = TFileMonitor;
@@ -96,12 +97,12 @@ constructor TFileMonitor.Create;
96
97
{ $ELSE}
97
98
fTickEvent := TSimpleEvent.Create(nil ,True,False,' ' );
98
99
{ $ENDIF}
99
- Self.Resume;
100
100
end ;
101
101
102
102
destructor TFileMonitor.Destroy;
103
103
begin
104
104
if not Terminated then Terminate;
105
+ Self.WaitFor;
105
106
fTickEvent.SetEvent;
106
107
fTickEvent.Free;
107
108
inherited ;
@@ -111,7 +112,7 @@ procedure TFileMonitor.Execute;
111
112
var
112
113
LastModifiedDate : TDateTime;
113
114
begin
114
- inherited ;
115
+ inherited ;
115
116
while not Terminated do
116
117
begin
117
118
fCurrentMonitorNotify := mnNone;
@@ -163,8 +164,10 @@ procedure TFileMonitor.Execute;
163
164
end ;
164
165
end ;
165
166
166
- procedure TFileMonitor.SetStatus (Status : Boolean);
167
+ procedure TFileMonitor.SetEnabled (Status : Boolean);
167
168
begin
169
+ if (Status = True) and (Started = False) then Start;
170
+
168
171
if fEnabled <> Status then
169
172
begin
170
173
fEnabled := Status;
0 commit comments