Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.117.107.90] |
|
Сообщ.
#1
,
|
|
|
Полдня убил на поиски загадочного бага, оказалось, что XE2 считает, что записи с дженериками внутри других записей имеют размер одного указателя. Но запись и чтение при этом как положено. Соответственно целая куча веселых последствий
type TGenRec<T> = record Int1, Int2: Integer; end; var Rec : record GenRec: TGenRec<string>; Int: Integer; end; procedure Test; begin if SizeOf(Rec) <> SizeOf(Integer)*3 then ShowMessage('BUG!'); ZeroMemory(@Rec, SizeOf(Rec)); Rec.Int := $DEADC0DE; if Rec.GenRec.Int2 = Integer($DEADC0DE) then ShowMessage('BUG!'); end; Проверьте, кому не сложно, на новых версиях. |
Сообщ.
#2
,
|
|
|
В Сиэтле - без багов
|
Сообщ.
#3
,
|
|
|
Ага, принято. Теперь интересно про более старые версии.
|