Тип TStreamRec Objects
================================================================= Объявление TStreamRec = ^TStreamRec; TStreamRec = record ObjType: Word; VmLink: Word; Load: Pointer; Store: Pointer; Next: Word; end;
Функция Тип объекта Turbo Vision должен быть зарегистрирован TStreamRec, до его загрузки или сохранения на объекте TStream. Подпрограмма RegisterTypes регистрирует тип объекта записью TStreamRec.
Поля в регистрационной записи потока определены:
Таблица 14.33. Поля записи потока.
-------------------------------------------------------------- Поле Содержимое -------------------------------------------------------------- ObjType Уникальный числовой идентификатор для типа объекта VmtLine Связь типа объекта с элементом VMT Load Указатель на констрактор Load объектного типа Store Указатель на метод Store объектного типа Next Указатель на следующую TStreamRec --------------------------------------------------------------
Turbo Vision резервирует значения идентификаторов объектных типов от 0 до 999 для внутреннего использования. Программист может определить свои значения в диапазоне от 1,000 до 65,535. По соглашению, tStreamRec для типа объекта Txxxx называется Rxxxx. Например, TStreamRec для типа TCalculator называется RCalculator, как показано в следующем коде:
type TCalculator = object(TDialog) constructor Load(var S: TStream); procedure Store(var S: TStream); . end;
const RCalculator: TStreamRec = ( ObjType: 2099; VmtLink: Ofs(TypeOf(TCalculator)^); Load: @TCalculator.Load; Store: @TCalculator.Store);
begin RegisterType(RCalculator); . end;
См. также RegisterType