Die Frage war ..
An welcher stelle ist es sinnvoll EntercriticalSection und LeaveCriticalSection in TVisDataThread.Execute unterzubringen?
wo könnte hier etwas Kritisch sein das ich EntercriticalSection verwenden muss, sollte?
Dazu eine Frage:
Welche Variablen in Execute verwendest du auch außerhalb des Threads (und zwar in dem Moment, wo der Thread läuft)?
FDelayMSChanged
FDelayMSChanged wird aufgerufen wenn ein neues Plugin gestartet wird und die ms sich geändert haben.
ps..
ist aber vom gleichen Thread
Delphi-Quellcode:
procedure TVisDataThread.SetDelayMS(delayMs: DWORD);
var
tmpDelayMS: DWORD;
begin
tmpDelayMS := delayMs;
if tmpDelayMS < 10 then
tmpDelayMS := 10;
if tmpDelayMS <> FDelayMS then
begin
if FDelayMS <> 0 then
FDelayMSChanged := True;
FDelayMS := tmpDelayMS;
end;
end;
gruss