anchor.diff:    Repeat
       continue := inherited TryEnter;
       if (Not continue) then begin
  -      If (not logged) And ((FStartedTimestamp>0) And ((FStartedTimestamp+1000)<TPlatform.GetTickCount)) then begin
  +      If (not logged) And (TPlatform.GetElapsedMilliseconds(startTC)>1000) then begin
           logged := true;
           TLog.NewLog(ltdebug,ClassName,'ALERT Critical section '+IntToHex(PtrInt(Self),8)+' '+Name+
             ' locked by '+IntToHex(FCurrentThread,8)+' waiting '+
  -          IntToStr(FWaitingForCounter)+' elapsed milis: '+IntToStr(TPlatform.GetTickCount-FStartedTimestamp) );
  +          IntToStr(FWaitingForCounter)+' elapsed milis: '+IntToStr(TPlatform.GetElapsedMilliseconds(startTC)));
           continue := true;
           inherited;
         end else sleep(1);
       end;
     Until continue;
     if (logged) then begin
  -    TLog.NewLog(ltdebug,Classname,'ENTER Critical section '+IntToHex(PtrInt(Self),8)+' '+Name+' elapsed milis: '+IntToStr(TPlatform.GetTickCount - startTC) );
  +    TLog.NewLog(ltdebug,Classname,'ENTER Critical section '+IntToHex(PtrInt(Self),8)+' '+Name+' elapsed milis: '+IntToStr(TPlatform.GetElapsedMilliseconds(startTC)) );
     end;
     FCounterLock.Acquire;
     try
  
positive.code:   end;
    If inherited TryEnter then begin
      FCurrentThread := TThread.CurrentThread.ThreadID;
      FStartedTimestamp := TPlatform.GetTickCount;
      Result := true;
    end else Result := false;
    FCounterLock.Acquire;
  
negative.code:   {$IFDEF HIGHLOG}
    if Not Result then begin
      tc2 := TPlatform.GetTickCount;
      if lockStartedTimestamp=0 then lockStartedTimestamp := Lock.StartedTickCount;
      if lockStartedTimestamp=0 then tc3 := 0
      else tc3 := tc2-lockStartedTimestamp;
      s := Format('Cannot Protect a critical section %s %s class %s after %d milis locked by %s waiting %d-%d elapsed milis: %d',
  