Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 23-01-2015
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.441
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Mendizabal Ver Mensaje
Estoy programando un componente para delphi XE6 con una propiedad publicada que debería mostrar una lista de valores recuperados de una base de datos (SQL Server 2012, por más datos). El problema que me estoy encontrando es a la hora de conectarme a un base de datos en tiempo de diseño (para recuperar los valores con los que llenaré el combo box).

La cadena de conexión la recuperará de un componente externo (mediante una propiedad).
En mi caso la recuperará de un TADOConnection que escogerá el usuario. Hasta ahí la cosa es fácil. A partir de ahí, creo un objeto tipo TADOQuery dentro de mi componente, llamo a su constructor, le declaro sus propiedades (incluida la consulta SQL), y realizo la consulta.
Antes de nada debes estar seguro de que las cosas se hacen en el orden correcto.
¿Donde lanzas esas consulta? ¿En el Active de tu componente, en el Create,...?
Debes tener claro que en el momento de hacer la consulta tienes disponible todo lo que te hace falta. si dependes de otro componente, debes asegurarte de que está creado y que tiene los valores correctos en las propiedades (ConnectionString).


Cita:
Empezado por Mendizabal Ver Mensaje
De hecho me cuelga el IDE.
Es extraño, porque no debería pasar. depende de como lo estés haciendo te debería dar errores de memoria, o error al conectar, pero no que te deje "colgado" el IDE.

Cita:
Empezado por Mendizabal Ver Mensaje
Y lo peor es que no puedo / no sé debugar en tiempo de diseño.
No se puede hacer Debug en tiempo de diseño. Aunque la ejecución debe funcionar igualmente si estás en diseño o en ejecución.
Un truco que puedes utilizar es pasar el código que ahora estás intentando probar en diseño a un lugar donde puedas probarlo en ejecución y ahí hacer el debug. Luego lo vuelves a pasar a la zona correcta.

Ejemplo:
Si tienes el código en el la propiedad Active (método SetActive), ejecuta ese método en ejecución y haz el Debug. Si funciona en ejecución debería funcionar en diseño. Esto respecto al código, otro tema es lo que te he comentado antes, que en el momento de ejecutarlo en diseño te falten cosaso existan componentes no creados o sin las propiedades correctas.

Una propuiedad que te puede ayudar en estos menesteres en el ComponentState. Tiene valores interesantes que en esto te pueden servir como, csLoading, csDestroying, csDesigning, csFreeNotification.

Tal vez (si puedes ponerlo) un esqueleto de tu componente pueda ayudar a probarlo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Componentes en tiempo de diseño ElDuc OOP 12 10-02-2011 06:02:15
Diseño de reportes en tiempo de ejecución jzginez Impresión 2 17-04-2007 16:46:10
eventos en tiempo de diseño jar OOP 0 27-01-2007 22:09:11
Indices En Tiempo De Diseño?? amadis Conexión con bases de datos 0 12-04-2006 20:22:01
Diseño en tiempo de ejecucion Nelson Alberto Impresión 2 26-01-2006 09:34:12


La franja horaria es GMT +2. Ahora son las 13:08:44.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi