То й що заважає звернутися до компонента, створеного дiнамiчно? Це глобальний об'єкт, звертайтесь. Ось якщо потрібно використовувати його події, то їх треба описати:
public
{ Public declarations }
procedure sma(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y, HitTest: Integer;
var MouseActivate: TMouseActivate);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
var spl_mas: array [0..1] of TShape;
procedure TForm1.sma(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y, HitTest: Integer;
var MouseActivate: TMouseActivate);
begin
with (sender as TShape) do begin
case tag of
0: ;
1: ;
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
spl_mas[0].Brush.Color:= rgb(255, 0, 0);
end;
procedure TForm1.FormCreate(Sender: TObject);
const xc = 200;
yc = 200;
var i, tmp: integer;
begin
for i:= low(spl_mas) to high(spl_mas) do begin
spl_mas[i]:= TShape.Create(Form3);
spl_mas[i].Left:= tmp-10;
tmp:= spl_mas[i].Left;
spl_mas[i].Top:=yc-50;
spl_mas[i].Shape:=stCircle;
spl_mas[i].Height:=25;
spl_mas[i].Width:=25;
spl_mas[i].Brush.Color:=clGreen;
spl_mas[i].Tag:= i;
spl_mas[i].OnMouseActivate:= sma;
spl_mas.Parent:=Form3;
end;
end;