Problema con controles de usuario

19/02/2009 - 09:00 por Alberto | Informe spam
Utilizo con frecuencia controles de usuario pero me encuentro con un
problema muy frecuentemente: en ocasiones los controles reciben algo en el
constructor o realizan alguna tarea que tiene sentido en tiempo de ejecución
pero en tiempo de diseño fallan. Es decir, la aplicación funciona bien pero
cuando intento ver el control me da un error.


Por ejemplo, ahora estoy diseñando un control de usuario que en el
constructor se conecta a una base de datos. El problema es que las
conexiones a bd las gestiono a través de una clase estática que se
inicializa al arrancar la aplicación y por lo tanto, el control, en tiempo
de diseño, falla. En este caso en concreto me saca un error de la cadena de
conexión (lógico, pues no está inicializada en él).

¿Hay alguna solución para este tipo de problemas? Gracias

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
19/02/2009 - 09:44 | Informe spam
"Alberto" <añ wrote in message
news:
[...] En este caso en concreto me saca un error de la cadena de conexión
(lógico, pues no está inicializada en él).

¿Hay alguna solución para este tipo de problemas? Gracias



En este caso concreto la solución es sencilla: antes de usar la cadena
de conexión, mete un "if" para ver si está inicializada y si no lo está, en
lugar de intentar usarla, te saltas todo ese código.
Para los casos más genéricos, la propiedad DesignMode del control te
informa de si estás en tiempo de diseño, permitiéndote omitir el código que
sólo tiene sentido en tiempo de ejecución.
Respuesta Responder a este mensaje
#2 Alberto
21/02/2009 - 16:58 | Informe spam
Muchas gracias. Lo solucioné con el if que comprueba el estado de la cadena
de conexión pero aún así, no logro entender qué es lo que me está
ocurriendo.

Me explico: tengo un control de usuario donde hago una lectura en la base de
datos en el constructor. Funciona todo bien, tanto en tiempo de diseño como
en tiempo de ejecución.

Este control lo inserto en otro control y es aquí donde surge el problema.
Si no pongo el if, falla pero solo en tiempo de diseño. Lo más curioso es
que si pongo la lectura a la base de datos condicionada por el
this.DesignMode me sigue fallando.

"Alberto Poblacion"
escribió en el mensaje de noticias
news:
"Alberto" <añ wrote in message
news:
[...] En este caso en concreto me saca un error de la cadena de conexión
(lógico, pues no está inicializada en él).

¿Hay alguna solución para este tipo de problemas? Gracias



En este caso concreto la solución es sencilla: antes de usar la cadena
de conexión, mete un "if" para ver si está inicializada y si no lo está,
en lugar de intentar usarla, te saltas todo ese código.
Para los casos más genéricos, la propiedad DesignMode del control te
informa de si estás en tiempo de diseño, permitiéndote omitir el código
que sólo tiene sentido en tiempo de ejecución.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida