Задание
Разработать иерархию классов Delphi. Разместить определение классов в отдельном модуле.
Класс, позволяющий рисовать окружность некоторого размера с центром в точке, определен-ной нажатием левой клавиши мыши.
Класс, позволяющий рисовать ветвление из двух линий с окружностями на концах (ветви идут вниз симметрично под углом 300  из точки, определенной нажатием правой клавиши мыши). 
Параметры задаются с использованием интерфейсных элементов. 
пытаюсь построить иерархию классов. в unit UCls - собираю определения и реализации методов всех необходимых классов
Сначала абстрактный класс TFigure
unit Ucls;
Interface
  Type TFigure = object
    x0,y0:single; {центр фигуры}
    size:single;{размер квадрата}
    procedure draw(frm:TForm);virtual; {метод рисования}
    constructor Init(x,y,sz:single);
  end;
implementation
  procedure TFigure.draw(frm:TForm);
  begin
  end;
Метод рисования draw должен где-то рисовать - ему надо как параметр передать Canvas
Я -пытаюсь передать frm:TForm но чтоб дельфя поняла этот тип где-то раньше должен стоять
uses Forms; но его влепить некуда если первым послк unit UCls - компилятор ругает что должна бытьсекция interface, если после объявл класса или после implementation - то цепляется к параметру
frm:TForm. Как быть?
Добавлено через 45 минут и 23 секунды:Извините. Сам вопрос поставил-сам решил - надо было влепить
uses Forms,Graphics; после Interface но до Type