- Код: Выделить всё
- T_Desc = string[50];
 T_Person = packed record //личность
 FIO,
 Rank:T_Desc
 end;
 T_CheckDate=packed record //Сведения о всяких проверках - утвердил, создал и т.п.
 Who:T_Person; //кто проверял
 When:TDateTime;
 Desc:T_Desc; //описание проверки
 REQ:Boolean; //требуемое?
 end;
 T_ElementSignature=record
 case boolean of
 true: (SigTotal:array[1..4]of char);
 false: (SigHead,SigTail:array[1..2] of char);
 end;
 //Типы элементов: коллекция, модули - теория и опрос, вопрос, ответ
 T_ElementType=(etCollection,etTheory,etExam,etQuestion,etAnswer);
 T_CommonElementData = packed record //общие данные для всех и вся
 ID:byte; //мой номер
 MyType:T_ElementType; //кто я по жизни
 Desc:T_Desc;
 SigHead,
 SigTail:T_ElementSignature;
 case T_ElementType of
 etCollection:(Placeholder:byte);
 etTheory,etExam,etQuestion,etAnswer:(ParentID:byte); //папин номер (не используется для коллекции)
 end;
 T_CommonElementDates=packed record
 Created, //создано
 Verified, //проверено
 Confirmed, //утерждено
 LastModified:T_CheckDate; //последние изменения
 end;
 //виды коллекций: только теория,только опросы, смешанная
 T_CollectionKind=(ckTheory,ckExam,ckMixed);
 T_Collection=packed record //коллекция
 ComData:T_CommonElementData;
 Dates:T_CommonElementDates;
 ValidSince,
 ValidUntil:TDateTime; //даты годности коллекции - включительно.
 KindOf:T_CollectionKind;
 end;
Так вот на этом описании команда SizeOf(T_Collection) не работает (еще на этапе компиляции): Error: range check error while evaluating constants
Это как? Я впервые вижу такую диагностику.





 я думаю, что тут будет зависеть от того
 я думаю, что тут будет зависеть от того 

