FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
TProgressBar va retrasado
Tengo un problema de visualizacion y no encuentro como solucionarlo. A ver si alguien sabe como hacerlo.
Supongamos esta parte de codigo (pgbfile es un TProgressBar)
Vale pues el progressbar no sigue el ritmo, las cuatro primeras veces la barra solo llega hasta el 10% y vuelve a comenzar, y la ultima vez, sale el mensaje de "fin" y el progressbar aun va por el 70%. Supongo que el tema es que el ProgressBar lleva un Thread independiente, pero es posible evitar esto y sincronizarlo exacto. Antes con Delphi 7 esto era clavado pero ahora con XE tengo este problema. Solo es estetico, pero queda muy feo que un proceso finalice cuando en pantalla la barra va por el 80%. gracias a todos de nuevo. |
#2
|
||||
|
||||
Prueba movieno la línea Application.ProcessMessages
Será mas lento, pues por cada iteración del bucle (100.000 veces) debe verificar si hay mensajes pendientes de procesar.
Puedes mejorar el rendimiento si ejecutas esta línea solo cada n pasadas.
|
#3
|
|||
|
|||
Nada tio, el resultado es el mismo, quiza avanza un poco mas, pero el resultado sigue siendo el mismo
|
#4
|
||||
|
||||
He probado tu código, sin modificar y me funciona perfectamente.
Cinco veces avanza de 0 a 100% la barra de progreso. Al final la barra está completa y sale el mensaje de "fin". Esto me hace pensar que lo que tu tienes no es exactamente lo que has publicado aquí. Yo solo he creado un proyecto de prueba con un ProgressBar y un botón, que en su evento OnClick ejecuta tu código. Has la prueba con un proyecto nuevo para verificar que no se trata de alguna otra cosa que influya en tu aplicación. También puedes porbar con Repaint.
|
#5
|
|||
|
|||
He hecho lo que tu dices, proyecto nuevo, 2 button y un progressbar, el codigo y el resultado es el mismo, no llega al 100%.
Si pongo el repaint, si que funciona pero el tiempo se multiplica. Me puedes pasar tu exe compilado, a ver si es problema de compilacion o de procesador o tarjeta grafica. Si puedes mandamelo a esta direccion xxxxxx@xxxxxx.xx 2 botones y y progress bar, esta es la Unit tal cual
Gracias. Última edición por Casimiro Notevi fecha: 25-02-2015 a las 17:36:30. Razón: Las cosas del foro, en los foros :) Mira nuestra guía de estilo. |
#6
|
|||
|
|||
Nuevos datos
Si State = pbsNormal el recorrido (1 pasada) lo hace en menos de 1 segundo pero no repinta bien Si State es pbsError o pbsPaused tarda bastante mas y repinta bien. ¿Cuanto te tarda a ti mas o menos en hacer los 100000 ciclos? |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problema TProgressBar e IdFTP | jlrdz | OOP | 1 | 14-06-2011 13:19:21 |
Generar TProgressBar en Forma Dinámica | GerTorresM | OOP | 1 | 12-04-2009 03:02:04 |
TProgressBar cíclico nativo (marquee) (añadida solución 3) | xEsk | Trucos | 11 | 04-12-2008 21:13:58 |
TProgressBar | Delphius | OOP | 2 | 09-12-2004 05:31:46 |
|