![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Gracias por las respuestas.
No es un problema de velocidad realmente, lo que me pasa es que de vez en cuando al hacer el doble click se quedan los formularios congelados uno encima del otro y no puedo hacer nada más que esperar a que se acabe el proceso. He probado con puntos de interrupción y ver que pasa pero no consigo aislar la linea que se bloquea. La base tiene solo 1500 registros, una nimiedad para un locate. El campo ID de la tabla está como PK, todo lo demás son consultas normales. Sigo investigando, aunque cualquier ayudita se agradece. Saludos Josep |
|
#2
|
||||
|
||||
|
Hola.
En realidad, lo que me llevó a pensar en una posible demora con los forms (y reorganizar el código) fueron las líneas: Donde primero se crea el form y luego se posiciona con Locate, pero viendo ahora que son muy pocos registros, no sé... Y no había prestado atención a lo que observó roman, tiene razón; la consulta puede omitirse. Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 30-05-2012 a las 18:35:34. |
|
#3
|
||||
|
||||
|
Gracias.
Yo habia pensado en lo de la consulta para acotar el locate, pues así lo entendí en alguno de los hilos leidos. El problema persiste y debe ser en la creación del form o algo así ya que como ha dicho antes se produce esporadicamente y sin un patrón fijo. Si coloco un punto de interrupción en el doble click pasa por todas las lineas correctamente, no se donde más puedo mirar Saludos Josep |
|
#4
|
||||
|
||||
|
Podria ser que el error estuviera en este prodedimiento?
He intentado ejecutar con f7 y cada vez que entra en el begin, si no se cumple nunguno de los dos id salta al end final y allí se queda el cursor, hago click en el formulario y vuelve al begin, end y así sin parar.
|
|
#5
|
||||
|
||||
|
Hola jafera.
Cita:
Ese comportamiento ¿ Sucede solamente en esa parte de la aplicación ? Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
#6
|
||||
|
||||
|
Buenos días.
Efectivamente Ecfisa, el comportamiento erroneo es solo en esta parte del programa, aunque lo que me hace perder el norte es que este fallo no se produzca siempre sinó aleatoriamente. Con las investigaciones es casi seguro que el error no está en el doble click. Puede que sea en el form create, form show o algo así, a lo que llegué más cerca de reproducir el error fue en el código que pasé ayer, ya que después de entrar en el begin, el cursor se clavaba en el end y no salía de allí hasta que clicaba en el formulario y a continuación presionaba F9 Gracias Josep |
|
#7
|
||||
|
||||
|
Hola Jafera y todos los compañero del Club!
Te recomiendo que desactives/quites (comentes) la línea que utiliza Locate. Luego has nuevamente las pruebas. Realmente, Locate es una función muy lenta y consume y desperdicia demasiados recursos si utilizas un DB en red tipo Firebird. Locate solo debería de utilizarse para grupos de datos muy pequeños. Un grupo de 1,500 registros no es precisamente pequeño, más si éstos deben ser transportados por la red. Otro problema que podría estar empeorando el uso de Locate, es que estás utilizando objetos para los campos. Por ejemplo: "Buscar_CamioID", "Camions_ParcID". Estos objetos deben ser actualizados cada vez que se cambia el cursor, lo que origina un gran consumo de recurso. Además, no sabemos si su implementación interna tenga problemas, cómo una fuga de memoria por ejemplo. Mejor utiliza algo más eficiente cómo por ejemplo: "MiTabla.FieldByName('id')". Me gustaría saber que base de datos utilizas. Si encuentras que Locate es el problema, entonces sería oportuno que empieces a pensar en otra arquitectura para conseguir lo que quieres. No esperes una respuesta a: "Cómo hacer más rápido a Locate" porque realmente, Locate no puede ser más rápido. Algo más rápido que Locate, es algo que no sea Locate. Saludos! |
![]() |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| lenta busqueda de archivos con api windows | anubis | API de Windows | 3 | 18-03-2008 00:18:52 |
| Solamente Primer Búsqueda es lenta | PedroAlfonso | Firebird e Interbase | 0 | 13-11-2007 20:11:13 |
| Ayuda con consulta lenta, lenta, lenta | Gregory Mazon | Firebird e Interbase | 22 | 27-06-2007 09:56:38 |
| Busqueda Lenta por Rango de Fechas.... | AGAG4 | Tablas planas | 5 | 06-04-2005 18:51:53 |
| busqueda lenta | Giniromero | Conexión con bases de datos | 6 | 24-07-2003 09:36:48 |
|