|
JSONArray.Owned
|
|||
---|---|---|---|
#18+
Здравствуйте. С сайта получаю информацию по заказу со списком продуктов. Есть тестовый код (см. ниже), который работает без ошибок и утечек памяти. В этом примере все работает. Но если переношу этот код в проект, то при "JSON.Free" получаю AV. Методом "тыка" выяснил, что ошибка возникает из-за "JSONArray.Free". Если закомментировать строки JSONArray.Owned := False; JSONArray.Free; То ошибки нет и утечки памяти нет. Вопрос 1. Почему нет утечки памяти, при комментировании этих двух строк? Есть предположение, что объект JSONArray "волшебным" образом (неявно) уничтожается при уничтожении JSON. Свойство Owned я до конца не понял. Думал, что речь идет о тексте, а не об объектах. Если об объектах, то как JSON узнает о JSONArray? Вопрос 2. Если предположить, что этот тестовый код я корректно перенес в проект, то возможно есть ошибка в реализации json в delphi? Я понимаю, что вам нужно посмотреть этот код, но может быть кто-то сталкивался с подобными проблемами? Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.08.2021, 15:26 |
|
JSONArray.Owned
|
|||
---|---|---|---|
#18+
shmelina Есть тестовый код (см. ниже), который работает без ошибок shmelina Вопрос 1. Почему нет утечки памяти, при комментировании этих двух строк? shmelina Свойство Owned я до конца не понял Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
По умолчанию True. Но если вы уничтожаете массив вручную, до уничтожения родителя, то на выделенной строке будет происходить обращение к уже уничтоженному объекту shmelina возможно есть ошибка в реализации json в delphi? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2021, 19:44 |
|
|
start [/forum/topic.php?fid=58&fpage=14&tid=2037108]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
35ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 279ms |
total: | 401ms |
0 / 0 |