Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-06-2006
Yago Yago is offline
Registrado
 
Registrado: jun 2006
Posts: 2
Poder: 0
Yago Va por buen camino
Problema urgente con un datasource

Bueno, lo primero de todo pedir disculpas por adelantado si incumplo alguna norma del foro, acabo de registrarme y aún no he tenido tiempo de revisar normativas ni hilos anteriores.

Os cuento mi problema, a ver si alguien puede echarme una mano.

En una aplicación tengo un DBGrid al cual asocio un DataSource u otro según que botón se pulse. Pulsando otro botón ('Nuevo') libero el grid (datasource.free). Entre ambas acciones el programa realiza una consulta SQL.

El Problema: Tras algunos cambios de DataSource la asignación empieza a fallar y el DBGrid se queda en blanco. Siguiendo la ejecución línea a línea he visto que el fallo viene porque al enviar el DataSource a la función que realiza el cambio, el valor enviado se convierte en 'Nil'.

CambiarTabla(DM.DtsTabla1); // Llamada a la función.

CambiarTabla(Datos : TDataSource);
begin
DBGrdTablas.DataSource := Datos; // Asignación.
end;

La verdad es que no se me ocurre porque puede pasar, ya que lo extraño es que a veces funciona y a veces no. ¿Alguna idea?
Responder Con Cita
  #2  
Antiguo 16-06-2006
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: dic 2004
Posts: 882
Poder: 20
Héctor Randolph Va por buen camino
Hola Yago, bienvenido al foro.

Cuando haces Datasource.Free, en realidad lo que estás haciendo es destruir la instancia del DataSource, es decir, la estas liberando de la memoria y no podrás referenciarla más adelante, ¿Ese es el comportamiento que esperas?.

De acuerdo con lo que yo entiendo, lo que quieres es asociar diferentes Datasource a un DBGrid, en el caso en que quieras dejar el DBGrid sin asociación a un Datasource utiliza lo siguiente:

Código Delphi [-]
  DBGrdTablas.DataSource:=nil;
 // Usa esto en lugar de DataSource.Free;



Espero haber entendido tu problema.

Saludos
Responder Con Cita
  #3  
Antiguo 16-06-2006
Yago Yago is offline
Registrado
 
Registrado: jun 2006
Posts: 2
Poder: 0
Yago Va por buen camino
Diooos... vaya burro que estoy hecho

Has entendido perfectamente lo que quería hacer. Esto me pasa por usar código sin saber bien lo que hace.

Muchísimas gracias por tu ayuda, me salvas el curso
Responder Con Cita
Respuesta



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
Urgente Problema con Activex carlosmoralesm Providers 0 01-04-2005 00:53:43
Urgente!!! Problema con Consulta SQL PaLaSaca SQL 2 06-05-2004 19:56:50
urgente..please... problema con el Nº de lote oarc19 SQL 3 09-03-2004 16:40:07
Problema con qry de ADO...Urgente!! ssaavedra Conexión con bases de datos 4 07-08-2003 18:37:59


La franja horaria es GMT +2. Ahora son las 06:28:05.


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