четверг, 13 июня 2013 г.

Есть у меня ПОДОЗРЕНИЕ, пока только ПОДОЗРЕНИЕ

(Беспочвенные подозрения у меня кстати ОДИН раз были уже - http://18delphi.blogspot.com/2013/04/delphi-xe.html) (а проблемы на самом деле были вот в этом "хоккее" - http://18delphi.blogspot.com/2013/04/getmem.html)

Что в Delphi XE4 - "пустые интерфейсы" иногда - "глючат".

Типа

IA = interface
 SomeMethod
end;

IB = interface(IA)
end;

TA = class(TInterfacedObject, IA)
end;

TB = class(TA, IB)
end;

Так вот если получать TB - как IA - то ВСЁ хорошо. А если получать как IB. Который в общем "по сути" такой же как IA, то наблюдаем проблемы при присвоении интерфейсным переменным (которое генерирует компилятор). ПАДАЕТ на _IntfCopy. К сожалению - JEDI - стек НЕ ПОКАЗЫВАЕТ. (Кстати - а есть ли всё ТАКИ УЖЕ АВТОРСКИЙ JEDI под XE4? http://18delphi.blogspot.com/2013/05/jedi-xe4.html) Проблемы - РЕДКИЕ. Но что характерно под XE3 - НЕ ПРОЯВЛЯЮЩИЕСЯ. Может быть это - СУГУБО НАШИ проблемы. И если я их найду - я обязательно напишу про них.

Я к чему? Если - ВДРУГ у кого-то проявляются ПОДОБНЫЕ непонятные. И нестабильно повторяющиеся проблемы. С похожими симптомами - может быть вы будете так любезны, что напишете мне про них? Ну вдруг?

Ещё раз напомню - "в моём случае" - проблемы есть ТОЛЬКО под XE4. По XE3 - НИ ОДНОГО случая - ДОКУМЕНТАЛЬНО зафиксировано не было.

Ничего пока не УТВЕРЖДАЮ. Но "вдруг"...

P.S. Падения под XE4. На НАШЕМ КОДЕ (прямо скажем непростом) - зафиксированы ДОКУМЕНТАЛЬНО. В логах тестов. К сожалению - пока БЕЗ стека. Может быть - это и СУГУБО наши (тогда уж - МОИ) проблемы. Но странно мне как-то. Что под XE3 - не вылезло. Не найду "хвостов" - буду тщательнее под XE3 гонять. Может какие мысли появятся.

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

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