Hola oscjae.
Todos los descendientes de
TComponent poseen la propiedad
Owner que contiene (o no) al componente propietario y esta se determina por el valor pasado al parámetro en la creación. El propietario se encargará de liberar la memoria del componente poseido cuando él mismo sea liberado.
Si fijas la propiedad
Owner a
nil,
Código Delphi
[-]
Frame := TFame.Create( nil );
estas indicando que no tiene propietario; por lo que liberar la memoria queda bajo tu responsabilidad y es correcto que lo hagas.
Cita:
Empezado por oscjae
El panel en el que lo coloco (vPanelParent) también seria destruido, ya que uso un ScrollBox para ir creando paneles en tiempo de ejecución y colocando dentro los frame, cuando e de eliminar uno por la razón que sea, elimino el frame y también el panel...
|
Realmente ahora no se si visualizo claramente la acción, por que van apareciendo nuevos actores como los Panels y el ScrollBox.
Pero, si el Frame debe liberarse cuando lo hace el Panel contenedor, bién podrías hacer al Panel el
Owner del frame, delegandole la responsabilidad de su liberación. Y si todo debe destruirse al destruirse el ScrollBox, podrías usar este como
Owner... Todo depende del órden en que se vayan creando y se necesiten ir liberando frames y panels.
Saludos