serbod писал(а):Обработчик чего? 
Сказано же - пропертей. Код (рамочно) в посте выше. 
Написал первую обёртку TCoverMapRect. Что-то не то. Получается, на такие проперти надо писать персональные обработчики, что не есть хорошо. ...думаю.
Добавлено спустя 5 минут 12 секунд:Aleh писал(а):Строковое представление в хозяйстве пригодится
 раньше был согласен, хотя практика показала, что не так уж нужно. Сейчас старым пользуюсь, новое не пишу.
Aleh писал(а):Класс-обертка тоже конвертируется в строку
 - НЕТ, он служит для передачи нативного!!! рекорда "из пункта А в пункт Б"
Добавлено спустя 7 минут 49 секунд:вот 
- Код: Выделить всё
   TCoverProp  = class
  end;
  TCoverMapRect = class(TCoverProp)
   R:TMapRect;
  end;
Добавлено спустя 13 минут 29 секунд:далее 
- Код: Выделить всё
    property Gabarits:TCoverMapRect read GetGabarits  write SetGabarits;//сама проперть
function TMapObject.GetGabarits: TCoverMapRect;
begin
 result:=TCoverMapRect.Create;
 result.R:=MapRect;//MapRect - рекорд в классе 
end;
procedure TMapObject.SetGabarits(AValue:TCoverMapRect);
begin
  if AValue=nil then exit;
  MapRect:=AValue.R;
  AValue.Free;
end;
// в потомке
   property ExtendRect:TCoverMapRect read GetExtendRect  write SetExtendRect2; //   FExtendRect:TMapRect;//фиксированный экстент pulkovo42
function TMapFrame.GetExtendRect: TCoverMapRect;
begin
 result:=TCoverMapRect.Create;
 result.R:=FExtendRect;
end;
procedure TMapFrame.SetExtendRect2(AValue: TCoverMapRect);
begin
  if AValue=nil then exit;
  SetExtendRect(AValue.R);
  AValue.Free;
end;
в общем на каждую проперть этого типа надо писать эти примитивные обработчики.
нормальная эволюция проги, когда рекорды эволюционируют в классы, тогда тема закроется, но выходит с рекордами в пропертях беда.