el problema es del ambito de la variable. Deberias crear los ttreeview de manera global en el form.
Código Delphi
[-]
public
Treeviews : array of TTreeview;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject); var
i : integer;
const
DiasDelMes : integer = 30;
begin
SetLength(Treeviews,diasdelmes);
for i:=0 to DiasDelMes - 1 do
begin
Treeviews[i] := TTreeview.Create(self);
with treeviews[i] do
begin
Parent := Form1;
Top := (i div 5) * 60 + 5;
Left := (i mod 5) * 60 + 5;
Height := 60;
Width := 60;
Name := 'TreeView_' + IntToStr(i);
OnClick := TreeViewAmpliar;
end;
end;
end;
procedure TForm1.TreeViewAmpliar(Sender: TObject);
begin
(sender as TTreeview).Height := 100;
(sender as TTreeview).Width := 100;
(sender as TTreeview).Bringtofront;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
i : integer;
const
diasdelmes : integer = 30;
begin
for i := 0 to diasdelmes - 1 do
treeviews[i].free;
setlength(treeviews,0);
end;