|
|
|
UnixToDateTime потокобезопасная функция?
|
|||
|---|---|---|---|
|
#18+
В потоке делаю преобразование Код: pascal 1. 2. когда потоков много иногда вылетает два типа ошибок: 1. is not a valid timestamp '-2125364912.12043000' 2. division by zero я могу смотреть не туда и не так, и вообще сложность программ на уровне А+Б. сделал свою процедуру, где получаю локальные настройки времени один раз перед запуском потоков и ошибки пропали. Кто-нибудь сталкивался с таким? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2018, 11:37 |
|
||
|
UnixToDateTime потокобезопасная функция?
|
|||
|---|---|---|---|
|
#18+
cptngrbя могу смотреть не туда и не так Правильным будет смотреть: 1) Стэк вызовов при получении ошибки; 2) Исходники этой процедуры. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2018, 14:04 |
|
||
|
UnixToDateTime потокобезопасная функция?
|
|||
|---|---|---|---|
|
#18+
Исходников UnixToDateTime под рукой нет, но что-то подсказывает, что там обычная математика и thread safe должно быть. Я бы смотрел в соседний код (подобные ошибки говорят о том, что где-то затирается память левым вызовом free, присвоением не туда, выходом за пределы массива и т.п.). Надо включить в настройках проекта компилятора RangeCheck (и другие проверки). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2018, 15:22 |
|
||
|
UnixToDateTime потокобезопасная функция?
|
|||
|---|---|---|---|
|
#18+
JaDiИсходников UnixToDateTime под рукой нет, но что-то подсказывает, что там обычная математика и thread safe должно быть. Я бы смотрел в соседний код (подобные ошибки говорят о том, что где-то затирается память левым вызовом free, присвоением не туда, выходом за пределы массива и т.п.). Надо включить в настройках проекта компилятора RangeCheck (и другие проверки). Обычная математика только в версии до 2010 Код: pascal 1. 2. 3. 4. начиная с XE, там такой трэшак, что мама не горюй ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2018, 15:33 |
|
||
|
UnixToDateTime потокобезопасная функция?
|
|||
|---|---|---|---|
|
#18+
defecator, этот код, если не учитывать локальные настройки (без GetTimeZoneInformation), а вот с локальными да, там идет запрос к системным библиотекам Windows. В итоге я взял код из Jcl, в комментах GunSmoker писал Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Только не стал заморачиваться с MinutesPerDay , а заменил на константу 24*60 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2018, 15:51 |
|
||
|
UnixToDateTime потокобезопасная функция?
|
|||
|---|---|---|---|
|
#18+
при старте приложения один раз получаю TimeZoneInfo, считаю смещение Код: pascal 1. или Код: pascal 1. и Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2018, 15:54 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=89&tid=2040119]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 321ms |

| 0 / 0 |
