Взгляните на следующий код:
method TMakerRect.Clone: TMakerObject;
var
newRect:TMakerRect;
begin
newRect := new TMakerRect(bounds,myForm);
newRect.Assign(Self);
newRect.theBrushStyle := Self.theBrushStyle;
Result := newRect;
end;
method TMakerGraphic.Assign(obj:TMakerObject);
begin
inherited Assign(obj);
if obj is TMakerGraphic then
begin
thePen:=TmakerGraphic(obj).thePen;
FillColor:=TMakerGraphic(obj).fillColor;
dynamics:=TmakerGraphic(obj).dynamics;
end;
end;
Я думаю, что именно так вы и сделаете клонирование объекта в глубокой копии. Если это правда, эти объекты должны действовать так, как если бы они были отдельными объектами, но это не так. Каждый раз, когда я изменяю, например, ширину ручки, она также меняет ширину ручки исходного объекта. Пожалуйста, помогите.
Заранее спасибо.