Array
(
)

frame

Rafael Gomes
   - 06 fev 2006

to fazendo um programinha utilitario de configuracao, e estou utilizando varios frames para as diferentes telas ...

como eu consigo criar os frames dinamicamente dentro do form principal?????? e posteriormente libera-los da memoria??

[]ss


Paulocesar1301
   - 06 fev 2006

1- Adicione o nome da unit de seu Frame na Uses (!! principal lá em cima !!);

2- Se for o caso de um array (já precisei utilizar assim) declare a variável array com o tipo de seu Frame:
Ex.: MeusFramesDinamicos: Array Of TMeuFrame;

3- Para utilizar, basta ´setar´ o tamanho do array e criá-lo:
Ex.: SetLength(MeusFramesDinamicos, 10);

4- Vc pode utilizar um ´For´ da vida para criar seus frames dinamicamente:
Ex.: For IAux := 0 To High(MeusFramesDinamicos) Do
begin
MeusFramesDinamicos[IAux] := TMeuFrame.Create(nil);
MeusFramesDinamicos[IAux].Parent := <pertencerá a quem?>
MeusFramesDinamicos[IAux].Height := ...
...
end;

5- Para liberar use no OnClose do seu Form ou no OnDestroy:
For IAux := 0 To High(MeusFramesDinamicos) Do
Try FreeAndNil(MeusFramesDinamicos[IAux]); Except End;

Espero ter ajudado um pouco :)