FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Problema con propiedad TRadioButton.Checked en Runtime
Hola,
He creado un form con varios RadioButton. Este form posee varios constructores y según el constructor con el que se cree deben activarse unos u otros RadioButtons. El problema es que cuando hago en el constructor RadiButton.checked := true; me salta una excepción que me dice que no puede establecer el foco en un elemento que no es visible. ¿Alguna idea de como lo podría solucionar? Gracias |
#2
|
||||
|
||||
Hola, puede ser por varias razones, al llamar o crear el form puede que le estes dando foco a algo que no existe o no está visible ó le estas dando foco a un compenente que no acepta el foco, revisa la llamada al form.
Saludos.
__________________
Mi BLOG - ¡Joder, leanse la guia de estilo! Las Palabras son enanas, los ejemplos gigantes. |
#3
|
|||
|
|||
me imagino que creas el radiobutton al crear la forma por lo tanto te va a mandar ese error, porque no revisas primero que la forma este visible y si esta, actualizas el checked
|
#4
|
||||
|
||||
No sé bien a qué se deba el problema (hice una prueba rápida y funcionó bien), quizá tienes algún evento asociado al evento OnClick de los RadioButtons que provoca el cambio de foco de algún control -cosa que no se puede hacer hasta que el formulario no esté visible.
Por otro lado, en mi opinión, el constructor debe reservarse para creación de controles y no para ajustes visuales, como lo es el marcar un radio button como seleccionado. Viene mejor el evento OnShow del formulario, o bien, redefinir el método DoShow. Tampoco veo muy conveniente usar distintos constructores. Me parece más prolijo usar el constructor de siempre y pasarle información vía propiedades. Algo como:
Entonces, en la redefinición de DoShow actúas en consecuencia:
// Saludos |
#5
|
|||
|
|||
Gracias por vuestras respuestas,
Roman ha dado con el problema y con la solucion (como siempre )... Yo usaba el evento onClick de los RadioButton y establecía el foco en otro componente (supongo que de ahí el error)... Ahora en vez de hacer el checked en el constructor lo hago en el evento onShow del form y funciona bien y revisaré bien como pasar parámetros sin usar constructores porque si Roman lo dice seguro que es bueno hacerlo así. Muchas gracias a todos!!! |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
TButton como el TRadioButton | Amos | OOP | 4 | 06-06-2008 16:18:54 |
Problema con LIKE en runtime | anghell77 | SQL | 8 | 04-05-2006 12:16:57 |
Cambiar el estado de un RadioButton......"Checked o no Checked" | chileno | Varios | 3 | 29-04-2006 22:34:18 |
Propiedad Checked de TCheckBox | FunBit | OOP | 4 | 05-09-2005 10:53:06 |
problema con checked | Cosgaya | Varios | 2 | 08-06-2005 10:03:46 |
|