![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Now иногда возвращает ерунду... [D7]
istok © (2010-07-15 16:28:00)функция Now иногда вместо системного времени возвращает что попало, бывает что 2001 год, 2004, бывает и 31.12.1899, т.е. 0...
это происходит редко, на различных компьютерах. но т.к. функция Now используется часто - косяк очень заметен.
что тут можно поделать? или грешить в сторону того что "нечто" иногда переставляет системное время??
есть ли аналоги, другие методы получения текущего datetime ?
Anatoly Podgoretsky (2010-07-16 09:05:00) [1]> Германн (16.07.2010 02:08:19) [19]
разделить на 86400
Anatoly Podgoretsky (2010-07-16 09:05:00) [2]> KilkennyCat (16.07.2010 02:03:18) [18]
Можно и округление, в данном случае не важно, но не лежит у меня душа к
округлению
Германн (2010-07-16 02:08:00) [3]Лучше сначала умножить на 86400, а потом разделить.
KilkennyCat (2010-07-16 02:03:00) [4]Анатолий, как-то Вы все время на еврейскую тему съезжаете.... вот почему не округление, а обрезание?
Anatoly Podgoretsky (2010-07-16 00:33:00) [5]> KilkennyCat (15.07.2010 22:54:14) [14]
Не откомпилируется, тип не тот. Сделай обрезание.
KilkennyCat (2010-07-16 00:05:00) [6]
> Sha © (15.07.10 23:04) [15]
а это мой рэндом, вещественный ;)
а вообще да, невнимательно я как-то...
Sha (2010-07-15 23:04:00) [7]> KilkennyCat © (15.07.10 22:54) [14]
Incompatible types
KilkennyCat (2010-07-15 22:54:00) [8]
> Приведи код, возвращающий что попало.
random(now);
Sha (2010-07-15 22:27:00) [9]> istok (15.07.10 16:28)
> функция Now иногда вместо системного времени возвращает что попало
Докажи.
Приведи код, возвращающий что попало.
sniknik (2010-07-15 19:38:00) [10]> А мне идея Медвежонка кажется более достоверной.
само собой.
но все же еще попытку сделаю...
> проблема почаще возникает в сервисе
поток детектед.
> DateTimeToStr не используется..там float пишется...
> смотрим FloatToStr в хелпе ->
> Description
> The first form of FloatToStr is not thread-safe, ... и т.д.
> если есть еще идеи, буду рад почитать
да ты и одну то не "переварил", другие это как бисер перед свиньями...
KilkennyCat (2010-07-15 19:12:00) [11]
> Двенадцать © (15.07.10 17:31) [7]
>
> > буду ловить проблему конкретнее и лично проверять какое
> > системное время в тот момент стоит на компе
>
> т.е., пешком ходить?
конечно пешком, либо веб-камеру ставить, ибо где гарантия, что не придется проверять, а не ошибку ли выдает проверяющая программа....
Anatoly Podgoretsky (2010-07-15 18:15:00) [12]> sniknik (15.07.2010 16:58:05) [5]
А мне идея Медвежонка кажется более достоверной.
Anatoly Podgoretsky (2010-07-15 18:12:00) [13]> istok (15.07.2010 16:28:00) [0]
Если возвращает ерунду тогда это вирус
Медвежонок Пятачок (2010-07-15 17:39:00) [14]и лично проверять какое
> системное время в тот момент стоит на компе
еще не забудь каждое утро лично проверять взошло ли солнце.
а то вдруг. всякое может быть.
Двенадцать (2010-07-15 17:31:00) [15]> буду ловить проблему конкретнее и лично проверять какое
> системное время в тот момент стоит на компе
т.е., пешком ходить?
istok (2010-07-15 17:25:00) [16]DateTimeToStr не используется..там float пишется... буду ловить проблему конкретнее и лично проверять какое системное время в тот момент стоит на компе.. (их в сети несколько десятков)
проблема почаще возникает в сервисе, берущем now при запуске и пореже в win приложении, берущего now постоянно..
если есть еще идеи, буду рад почитать
sniknik (2010-07-15 16:58:00) [17]> это происходит редко
редко, навевает мысль на потоки...
> на различных компьютерах.
на запись в лог (откуда то же узнал, что где то там фигня...)
записываются строки, отсюда преобразования в строку, смотрим DateTimeToStr в хелпе ->
Description
The first form of DateTimeToStr is not thread-safe, ... и т.д.
p.s. как вам мой "телепатор"?
Palladin (2010-07-15 16:51:00) [18]
> функция Now используется часто - косяк очень заметен.
угу, только возникает глубокофилософический вопрос, а косяк ли это именно функции Now...
Медвежонок Пятачок (2010-07-15 16:49:00) [19]и ошибок быть не может?
конечно может. например комп такой смотрит - ага. запущена прога написанная истоком. и давай, думает, прикольнусь над чуваком и верну ему на вызов нау всякую фигню.
так вот.
istok (2010-07-15 16:41:00) [20]т.е. если винапишный GetLocalTime возвращает что-то неожиданное, то значит эта и только эта дата выставлена системой в данный момент и ошибок быть не может?