среда, 1 апреля 2015 г.

Коротко. JSON, Unmarshal и TInterfacedObject - это "что-то"

Коротко. JSON, Unmarshal и TInterfacedObject - это "что-то".

Надеюсь, что сейчас будет коммит.

Там конечно беда с подсчётом ссылок.

Первый коммит вот - https://bitbucket.org/lulinalex/mindstream/commits/25fe403c08ab76e206b9d6525e786ec0bff327fb

Так - НЕ РАБОТАЕТ.

Второй коммит вот - https://bitbucket.org/lulinalex/mindstream/commits/d10acb6683d2bceaa034e7940e68165e941f539b

Так - РАБОТАЕТ.

Это то же - стыдно.

Реально стыдно. Так писать код.

В чём проблемы - могу теперь описать. "На пальцах".

Если кому-то интересно.

Игорь +Igor Belyh а я вам НЕ РАЗ говорил, что НЕ НАДО связываться с JSON, особенно в реализации от Embarcadero.

Вот ЕЩЁ раз имеем прецедент.

ОЧЕРЕДНОЙ баг для QualityCentral.

Ещё коммит:
https://bitbucket.org/lulinalex/mindstream/commits/86768b2233e1c63f40af0c4503fd9426f7b42ede

И чёрта два я нашёл бы ошибку, если бы не - Коротко. Контроль за созданием/освобождением объектов. Только код. №4.

И никакой бы FastMM не помог бы.

И ещё коммит - https://bitbucket.org/lulinalex/mindstream/commits/9d9d9e1770347a3414f5a2816b3dec37863c5fad

Ну и про "более правильный" подсчёт ссылок я уже писал - Собственная реализация IUnknown и подсчёт ссылок. И примеси

Коммит, который приближает нас к цели - https://bitbucket.org/lulinalex/mindstream/commits/dbc9ede9ff4198513a36b6cfdcc382555e918735

Ещё коммит, который подводит нас к пониманию происходящего - https://bitbucket.org/lulinalex/mindstream/commits/89b0af9065df50f86f709941d832de8344533425

А вот тут начинаем решать нашу проблему - https://bitbucket.org/lulinalex/mindstream/commits/7bc0b30c1e16a3386843c397987b4d8209a2a1e0

Добился желаемого (костыль, но иначе - пока не придумал) - https://bitbucket.org/lulinalex/mindstream/commits/272a9c09b9177e38966753c5eabbef7d38e411eb

Ну и это тоже "правильный" коммит - https://bitbucket.org/lulinalex/mindstream/commits/71b1564259e9396f2379329e1103c77652295dc1

Комментариев нет:

Отправить комментарий