|
|
|
Уничтожение TJSONObject
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Создаю два TJSONObject, потом удаляю их. Но почему-то при уничтожении второго - ошибка Invalid pointer operation. Получается, что jsonObject сам уничтожается? И вижу в примерах, что TJSONPair создаются, но не уничтожаются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2019, 11:14 |
|
||
|
Уничтожение TJSONObject
|
|||
|---|---|---|---|
|
#18+
X11, не умничай, ты же дельфист: используй [x]superobject. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2019, 23:09 |
|
||
|
Уничтожение TJSONObject
|
|||
|---|---|---|---|
|
#18+
Если класс унаследован от TJSONAncestor, по умолчанию Owned = True, а это значит что при уничтожении контейнера, будут уничтожены все его элементы. Потому что связь сильная между контейнером и элементами. Если надо добавить элемент по слабой связи (например вы хотите этот элемент содержать в нескольких контейнерах, а потом самим разрушить), то делается так: Код: pascal 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2019, 23:41 |
|
||
|
Уничтожение TJSONObject
|
|||
|---|---|---|---|
|
#18+
ёёёёёиспользуй [x]superobject. Не хочу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2019, 10:50 |
|
||
|
Уничтожение TJSONObject
|
|||
|---|---|---|---|
|
#18+
X-Cite, спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2019, 10:51 |
|
||
|
Уничтожение TJSONObject
|
|||
|---|---|---|---|
|
#18+
Но лучше, конечно, 5 звездочек! Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2019, 20:45 |
|
||
|
Уничтожение TJSONObject
|
|||
|---|---|---|---|
|
#18+
Cobalt747, не понял намёка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2019, 08:24 |
|
||
|
Уничтожение TJSONObject
|
|||
|---|---|---|---|
|
#18+
X11Cobalt747, не понял намёка. Намек в том, что не стоит один и тот же куст пихать в два контейнера, лучше клонировать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2019, 10:22 |
|
||
|
Уничтожение TJSONObject
|
|||
|---|---|---|---|
|
#18+
А потом отдельно уничтожать innerObject? А почему не стоит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2019, 10:27 |
|
||
|
Уничтожение TJSONObject
|
|||
|---|---|---|---|
|
#18+
Вообще конкретно с этим классом json я не работал, но принцип разумности и ожидаемости предполагает, что контейнер сам заботится об удалении всех своих элементов. соответственно удалять элемент отдельно не нужно, вставил и забыл. А не стоит потому, что незачем зазря усложнять структуру данных. Элемент принадлежит одному контейнеру, но засунут в еще три других по ссылке, потом контейнер-владелец удаляется, получаем AV или битую память... оно тебе надо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2019, 10:56 |
|
||
|
Уничтожение TJSONObject
|
|||
|---|---|---|---|
|
#18+
Спасибо. Я просто ни разу нигде не видел в примерах, чтобы кто-то использовал Clone ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2019, 11:14 |
|
||
|
Уничтожение TJSONObject
|
|||
|---|---|---|---|
|
#18+
Cobalt747Но лучше, конечно, 5 звездочек! Код: pascal 1. Код: pascal 1. 2. 3. 4. 5. 6. Ошибка при компиляции: There is no overloaded version of 'Create' that can be called with these arguments ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2019, 16:18 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=73&tid=2039484]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
60ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
39ms |
get tp. blocked users: |
2ms |
| others: | 240ms |
| total: | 385ms |

| 0 / 0 |
