Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Now иногда возвращает ерунду... [D7]


Страницы:   1 2

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 возвращает что-то неожиданное, то значит эта и только эта дата выставлена системой в данный момент и ошибок быть не может?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо