TCSLog è un oggetto TCriticalSection
Il programma è pieno di cicli try Except.
Il programma
codice:
var
TSNTPServer: TIdSNTP;
TDTOraInternet: TDateTime;
begin
SincLog(NomeFile, 'SorgenteDataOra()'); // Riga 1
if Base.SincroniaSNTP then begin // era false
end else begin
TDTOraInternet:= Now;
DateTime:= IncMinute(TDTOraInternet, TimeDelay); // TimeDelay era 0
SincLog(NomeFile, 'Uso DateTime dal Server locale -> '+ DateTimeToStr(TDTOraInternet, MySettings)+ '. Incremento di minuti: '+ IntToStr(TimeDelay)+ ', ottengo: -> '+ DateTimeToStr(DateTime, MySettings)); // Riga 2
...
end;
ha impiegato 20 minuti per andare dalla riga 1 alla riga 2, se pur eseguendo perfettamente il codice. La procedura che contiene la CriticalSection si chiama SincLog();
Non so cosa fare, il programma comunque cammina per mesi è che a volte si comporta così.