Code example:
procedure TMainFrm.Button1Click(Sender: TObject); var i:integer; AShape:TMyShape; begin AShape:=MyCAD1.GetSelectedShape; If AShape.HasChildshapes then For i:=0 to High(AShape.ChildShapesNo) do ShowMessage((AShape.Owner as TMyCAD).GetShapeByNo(AShape.ChildShapesNo[i]).Name); end;