|
RESTResponse.Free - ошибка
|
|||
---|---|---|---|
#18+
Код: 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. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69.
Почему тут ошибка? if Assigned(RESTResponse) then RESTResponse.Free; if Assigned(RestRequest) then RestRequest.Free; if Assigned(RESTClient) then RESTClient.Free; То есть каждый из обьектов жив, но при освободжении - Exception. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2021, 22:42 |
|
RESTResponse.Free - ошибка
|
|||
---|---|---|---|
#18+
bzums То есть каждый из обьектов жив Неверно. bzums но при освободжении - Exception. Exception при освобождении означает, что к моменту освобождения указатель невалиден. Тем более ты талантливо гасишь исходную проблему в except. Поставь брейкпоинт и пошагово пройди этот finally. При этом выведи эти объекты в Watch. Думаю, непосредственно перед ошибкой увидишь там вместо объекта что-нибудь типа "invalid value". ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2021, 23:30 |
|
RESTResponse.Free - ошибка
|
|||
---|---|---|---|
#18+
А как правильно проверять, что указатель валиден или нет? Asdigned и <> nil в обоих случаях True. И второе, а как так, что при exception объект крашится? И почему не надо убивать TJSONObject ? И TJSONValue,? Большое спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2021, 05:57 |
|
RESTResponse.Free - ошибка
|
|||
---|---|---|---|
#18+
bzums А как правильно проверять, что указатель валиден или нет? Никак. В общем случае это невозможно корректно проверить. Можно только не делать того, что делает его невалидным (то есть - не разрушать объект, на который он указывает, оставляя при этом в указателе старое значение). ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2021, 05:59 |
|
RESTResponse.Free - ошибка
|
|||
---|---|---|---|
#18+
JSONValue.Free; Из-за этого участка кода вылезает ошибка. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2021, 07:50 |
|
RESTResponse.Free - ошибка
|
|||
---|---|---|---|
#18+
Собственно вопрос свой хотел бы перефразировать именно так: Как мне правильно освобождать (и освобождать ли вообще) JSONObject , JSONValue обьекты? В примерах одни и теже освобождаются (JSONObject - некоторык освобождаюся, некоторые нет и логика непонятна), а JSONValue нет . Спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2021, 08:07 |
|
|
start [/forum/topic.php?fid=58&msg=40096168&tid=2037036]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 286ms |
total: | 413ms |
0 / 0 |