Cita:
Empezado por yusnerqui
Bueno pues yo me voy por el ámbito de las variables, si las variables están declaradas dentro del botón que las creas, como es posible que las quieras ver desde otro botón para destruirlas. Solución haz la declaración de las variables en la sesión private de la unit.
|
No estoy de acuerdo en este punto, puesto que las variables "objeto" en delphi son un puntero, y un objeto puede existir en memoria aún cuando no esté apuntado por ninguna variable.
En este caso particular, al tratarse de controles, aún cuando la variable utilizada para crearlo salga de ámbito, la forma guardará un puntero a dichos objetos en su propiedad controls, que es un arreglo, siendo perfectamente válido hacer algo como:
Código Delphi
[-]
Procedure TForm1.Button1Click(sender : TObject);
Var
b : TButton;
Begin
b := TButton.Create(self);
b.Parent := self;
b.Caption := 'Prueba';
end;
Procedure TForm1.Button2Click(sender : TObject);
Begin
Controls[ControlCount - 1].Free;
end;
Hasta luego.