FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Al llamar a ApplyUpdate(0) de un ClientDataSet la aplicación se cuelga
Hola a todos, estoy trabajando en una aplicación desarrollada en Delphi 5 que en un bucle actualiza 4 tablas de una bbdd sql server 2000. Para operar con las tablas utilizo ClientDataSet de MIDAS. Como provider utilizo un ADOQuery. Pues bien, la aplicación se quedaba colgada aleatoriamente en una de las iteraciones del bucle. Depurando descubrí que el trap se producía en la instrucción ApplyUpdate(0) de una de las 4 tablas. Antes del bucle creo y abro los ClientDataSet. En cada iteración hago un post de los cambios y el ApplyUpdate correspondiente a cada una de las 4 tablas y después del bucle cierro y destruyo. Haciendo pruebas he logrado llegar al punto de descubrir que es sólo un campo de una de las tablas el que hace que se cuelgue todo. Es un campo de tipo texto de la base de datos que contiene lo que sería el texto html de un email. Esto me ha hecho pensar que el problema debe ser de falta de recursos o de buffers. He buscado mucho al respecto pero no logro encontrar nada documentado al respecto. Hay alguna operación para liberar los recursos (aunque yo creia que el propio ApplyUpdates lo hacia...)????
Si al menos me diera una excepción o algo, el principal problema es que simplemente se queda colgado sin más información . Por favor, si alguien sabe algo de esto puede echarme un cable?? estoy un poco perdida con esto |
#2
|
|||
|
|||
hola, se te queda colgado en una funcion, en el servidor sql o en el bucle?
|
#3
|
|||
|
|||
Hola, depurando paso a paso el momento en que se cuelga es justo cuando entra en la llamada ApplyUpdates dentro de una de las iteraciones del bucle (nunca es la misma) y ya no sale nunca. Te pego un trozo del código:
|
#4
|
|||
|
|||
has probado con el debugger de entrar al codigo nativo?
|
#5
|
|||
|
|||
solo para mirar exactamente en q punto se queda en blanco (f7,f8)
|
#6
|
|||
|
|||
No puedo depurar ese código porque no tengo los fuentes
|
#7
|
||||
|
||||
Hola,
Puede dejar (temporalmente) el ApplyUpdates dentro de un try..except, para conocer mejor el problema en tiempo de ejecución.
__________________
"constructive mind, destructive thoughts" |
#8
|
|||
|
|||
Sorry, no lo había incluido en el anterior trozo de código pero todo está en un try { ... } catch (Exception &e) { }
|
#9
|
||||
|
||||
Ooohh... es en C++.
Bueno, lo que se me ocurrió es que dentro del catch se muestre un mensaje pero no se levante la excepción, pues puede que algo en su sistema operativo esté cerrando la aplicación al interrumpirse.
__________________
"constructive mind, destructive thoughts" |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Estado ClientDataSet tras ApplyUpdate | Rockin | Conexión con bases de datos | 1 | 18-07-2008 15:39:11 |
¡¿Breakpoint cuelga aplicación?! | senda | Varios | 23 | 03-07-2007 19:44:18 |
Aplicacion se 'cuelga' al llamar a OPEN (tquery) | halcon_rojo | Conexión con bases de datos | 3 | 15-11-2006 15:18:58 |
Despues de unos minutos sin uso mi aplicacion se cuelga | javicho_villa | Varios | 10 | 11-04-2006 20:43:07 |
llamar mi aplicacion con una combinacion de teclas | gulder | API de Windows | 13 | 05-09-2005 19:56:35 |
|