unit mvExtraData; {$mode objfpc}{$H+} interface uses Classes, SysUtils, graphics; type { TDrawingExtraData } TDrawingExtraData = class private FColor: TColor; FId: integer; procedure SetColor(AValue: TColor); public constructor Create(aId: integer);virtual; property Color: TColor read FColor write SetColor; property Id: integer read FId; End; implementation { TDrawingExtraData } procedure TDrawingExtraData.SetColor(AValue: TColor); begin if FColor = AValue then Exit; FColor := AValue; end; constructor TDrawingExtraData.Create(aId: integer); begin FId := aId; FColor := clRed; end; end.