Ver Mensaje Individual
  #9  
Antiguo 09-07-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Reputación: 22
Caro Va por buen camino
Holitas, por lo que se, cada vez que se crea un objeto es necesario liberarlo, porque sino los objetos que no se liberan, solo serán liberados cuando termine el programa. Pero cuando creamos un componente se le da un propietario/dueño (Parent) el cual puede ser un formulario o como en este caso el ScrollBox donde dicho propietario es el encargado de liberar todos los componentes que contiene, así es como lo maneja Delphi. Todo esto es lo mismo que a explicado Dec .

Cita:
Empezado por dec Ver Mensaje
"slCampos" ......., si no me equivoco, al tratarse de una variable "local", esta se liberará de todas todas al finalizar la función.
Esto no lo sabía, yo lo libero una vez que lo termino de usar.

Cita:
Empezado por dec Ver Mensaje
Código Delphi [-]
for i:=0 to slCampos.Count-1 do begin
with TButton.Create(Self) do begin
Parent := ScrollBox1;//Asignamos como padre al ScrollBox
Left := aLeft;
Top := aTop;
Width := 50;
Name := slCampos[i];
Caption := slCampos[i];
inc(aTop,Height+10);
end;
end;



Aunque igual podríamos tener algún problema alguna vez, porque Delphi se hiciera un lío (con razón) entre las propiedades de los botones y las del formulario, por ejemplo. Usar variables también puede aclarar algo el código, pero, vamos, que, en un momento dado, es posible hacer esto sin usar variable alguna.
Creo que no habría problema si lo creamos de esa forma porque con el With le estamos indicando que esas propiedades le pertenecen al button que estamos creando.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita