Ver Mensaje Individual
  #1  
Antiguo 20-11-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 31
Lepe Va por buen camino
al Cambiar Preferencias informar a todas las ventanas afectadas

Vamos al grano: En todo programa se tiene la ventana de preferencias, y al modificar una opción puede afectar a varias ventanas que están abiertas (entorno MDI), ¿qué filosofía usan para reflejar ese cambio?

PD: No me sirve eso de: "ahhh, tienes que cerrar la ventana y volverla a abrir para que los cambios surtan efecto" .

Por ejemplo, una opción en las preferencias dice: "Desplegar XX elementos en las listas desplegables". Ya he pensado algunas soluciones, pero siempre le encuentro "pegas", expongo a continuación "mis sobresaltos mentales" para explicarme mejor:

- Comprobar qué ventanas se encuentran abiertas y ejecutar un procedimiento concreto es bastante engorroso.

- Realizar una Forma base (de la cual hereden todas las ventanas) con un método predefinido puede ser útil, pero si queremos recibir esa modificación desde un .pas que no tiene asociado una ventana, hemos pinchado . Además pueden estar abiertas 5 ventanas y el cambio solo afecta a 1 de ellas, no es muy eficiente que digamos.

- He pensado implementar una clase TEventAlerter (al estilo de interbase), así podría centralizar todas las alertas, e incluso reutilizar el código. La pega viene cuando se tenga un número elevado de alertas, podría ser una jungla de eventos que se lanzan en las más insospechadas ocasiones.

¿Qué opinan de todo esto?

PD: Me extraña que este tema no se haya tratado anteriormente en los foros; al parecer, no he sabido buscar por los términos correctos.

Gracias por vuestra paciencia y dedicación.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita