Да, действительно была ошибка в авто определении часового пояса.
Исправил.
Ошибка осталась! 670 билд.
Пример: разница локального времени и времени сервера 3598 секунд. Что получается?
Код:
int DeltaTime = (TimeLocal() - TimeCurrent()) / 60 / 60;
DeltaTime будет ноль. Во-первых, переменная типа int!
Едем дальше, будет ещё интереснее.
Код:
double DeltaTime = (TimeLocal() - TimeCurrent()) / 60 / 60;
Что получится? 0.99944444? НЕТ! Будет 0.00!
Что за нах не ясно, но, скорее всего, дело в том, что мы делим разницу двух переменных типа datetime, и компилятор сходит с ума.
Код:
double DeltaTime = (TimeLocal() - TimeCurrent());
DeltaTime = MathRound(DeltaTime / 3600);
Так всё ровно! Получаем в итоге DeltaTime = 1
Во вложении исправленный индюк (плюс важные новости рисуются поверх всех остальных и есть push-уведомления).