Forum: Object-Pascal / Delphi-Language
by Sir Rufo,
11. Sep 2014
Ja kann man, aber dann so:
FCS.Enter:
try
if FEnabled then
LInterval := FInterval
else
LInterval := INFINITE;
finally
FCS.Leave;
Forum: Object-Pascal / Delphi-Language
by Sir Rufo,
11. Sep 2014
Im Execute wird doch Enabled überprüft
if Enabled then
LInterval := Interval
else
LInterval := INFINITE;
Noch mehr prüfen? Worauf und wozu? ;)
Wenn ein Thread mit Terminate beendet wurde, dann ist der durch mit dem Thema und du musst den Thread komplett neu erstellen. Ein Neustart nach Terminate ist da nicht vorgesehen.
Forum: Object-Pascal / Delphi-Language
by Sir Rufo,
11. Sep 2014
Jo, stimmet, da fehlte im Create doch tatsächlich FEnabled := TIMERTHREAD_ENABLED_DEFAULT; :)
Ist jetzt auch drin ;)
Forum: Object-Pascal / Delphi-Language
by Sir Rufo,
10. Sep 2014
Jupp, dass nach dem Enabled := False noch einmal ExecuteTimed aufgerufen wird, liegt daran, dass ich vergessen habe im Setter von Enabled den Event auszulösen.
Habe ich jetzt mal geändert und zusätzlich dahingehend erweitert, dass der Event nur bei einer echten Änderung auslöst (Interval und Enabled).
Ein kleiner Fehler war auch noch im Execute, da wurde der Wert LInterval nicht benutzt...