![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Hola,
Cita:
![]() Ahora pienso en la cuestión de hacer uso del método "Notification", de otro modo que como lo hago ahora, claro está, supongo, no sé si bien: El problema ahora mismo está en que si dejo sin crear la variable "FAcciones" al crear el componente ni siquiera puedo poner en un formulario un "TDecBrowser": violaciones de acceso a go-go. Recuerdo que antes busqué por la paleta de componentes alguno que tuviera una propiedad del tipo "TActionList" y que no di con ninguno... ¿Estáis probando esto? Quiero decir, ¿probáis puede hacerse como decís? Porque si es así os agradecería el propio código, más que nada, porque entonces estoy haciendo algo y aun algos mal o no me entero de nada en absoluto,... ambas cosas son posibles. ![]() |
|
#2
|
||||
|
||||
|
Hola,
Quizá me gustaría añadir por aquello de "si algo funciona, no lo toques" (es broma) que el componente ya no da el problema anteriormente descrito: funciona bien, tanto en tiempo de diseño como en tiempo de ejecución. No digo esto, obviamente, sino para dejar constancia del hecho, por si resultara de alguna utilidad. ![]() |
|
#3
|
||||
|
||||
|
Vamos a ver.
En tu código tienes: FAcciones.RemoveFreeNotification(Self); ¿En qué momento agregas tal notificación? Por otro lado, te das cuenta que cuando Notification se llama con opRemove es porque la componente se está destruyendo. Llamar entonces un método de una componente que se está destruyendo no creo que sea muy seguro. Yo te recomiendo que te revises en la VCL el código para la propiedad PopupMenu de TControl que te dejará perfectamente claro el uso de FreeNotification y Notification. EDITO: No se está destruyendo la componente. Ya se destruyó: Cita:
Última edición por roman fecha: 03-11-2005 a las 21:05:03. |
|
#4
|
||||
|
||||
|
Hola,
Cita:
Cita:
Cita:
![]() |
|
#5
|
||||
|
||||
|
Cita:
// Saludos |
|
#6
|
|||
|
|||
|
Creo que más bien le falta indicarle al TActionList que le notifique al componente TDecBrowser cuando se está destruyendo, esto se haría de la siguiente forma:
Ya con eso desde el Notification puedes eliminar la referencia al TActionList cuando este se destruya:
Saludos... |
|
#7
|
||||
|
||||
|
Cita:
// Saludos |
|
#8
|
|||
|
|||
|
Hola,
una cosita, hay que poner la llamada al método Notification del ancestro, que se encarga de liberar la referencia a nuestro componente de la lista de componentes ligados (FFreeNotifies).
__________________
Guía de Estilo |
|
#9
|
||||
|
||||
|
Hola,
Cita:
![]()
|
|
#10
|
||||
|
||||
|
Cita:
Cita:
// Saludos |
|
#11
|
|||
|
|||
|
Cita:
![]()
__________________
Guía de Estilo |
|
#12
|
||||
|
||||
|
Cita:
De mi (mala) memoria, podría afirmar que en Turbo Pascal 7, si que había que pasar los parámetros. En turbo pascal 6 no existía inherited, y por consiguiente había que llamar al método de la clase padre por nombre y apellidos, por supuesto, pasando los parámetros). Hasta luego. ![]()
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
#13
|
|||
|
|||
|
Cita:
![]()
__________________
Guía de Estilo |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|