Mientras
roman llega y no llega, doy mi opinión
![Big Grin](http://www.clubdelphi.com/foros/images/smilies/biggrin.gif)
.
Tu no tienes que crear Facciones ni mucho menos. Delphi se encarga de crear el TActionList cuando lo agregas a tu form y "crea" los editores y formularios (editor de propiedades). Y también destruirá el TActionList cuando lo quites en tiempo de diseño de tu forma. Tú lo único que tienes que hacer es
asignar el actionList y cuando necesites acceder, comprobar que no es
nil.
Código Delphi
[-]
constructor TDecBrowser.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FEnlaces := TStringList.Create;
FAcciones := nil;
inherited OnBeforeNavigate2 := ComprobarEnlaces;
end;
y dejar tu propiedad como:
Código Delphi
[-]
property Acciones: TActionList read FAcciones write FAcciones;
Si se quita el TActionList del form supongo (comprobar en delphi (1*)) que el IDE le asigna
nil a tu propiedad Facciones, y como en tu código siempre compruebas que FAcciones es distinto de nil (con assigned si quieres), tú componente jamás dará violaciones de acceso.
(1*) - Para comprobar este punto, te sirve mejor el métod SetAcciones, para poner un punto de ruptura y comprobar que es realmente
nil
A menos que tu componente lleve una propiedad Acciones, que al pulsar en los 3 puntitos, deba aparecer el editor de propiedades de un TActionList.
![Confused](http://www.clubdelphi.com/foros/images/smilies/confused.gif)
Este método me parece un poco extraño, pero es la única explicación de hacer un
TActionList.Create dentro de tu componente.
No sé si me he explicado bien.
saludos