Ir al contenido


Foto

Refresh / Repaint / Update en Formulario que indica progreso


  • Por favor identifícate para responder
2 respuestas en este tema

#1 smessina

smessina

    Member

  • Miembros
  • PipPip
  • 11 mensajes

Escrito 13 mayo 2012 - 02:08

Hola, mi nombre es Santiago y tengo el siguiente incoveniente, trabajo con delphi 7 en win 7 :

en una aplicación que tengo necesito correr uno procesos bastantes largos de calculos y recalculos de pagos y cancelaciones de deudas, por lo que me veo obligado a poner algo que me indique el progreso del mismo para que los usuarios no piensen que la aplicación murio y me lo cierren desde el ad. de tareas, para esto hice un formulario que lo abro a la derecha de la pantalla, el cual tiene un memo en el que voy escribiendo por donde anda esta tarea ....... ahora ya probe haciendo un refresh, un repaint y hasta un update luego de escribir en el memo .. pero si en algún momento se hace click en otra ventana o en la barra de herram. de windows o donde sea que haga perder el foco de la aplicación, este formulario de progreso deja de mostrar los progresos, y queda como si la aplicacion no respondiera para el windows, *** Vale aclarar que esto NO PASA si hago exactamente lo mismo pero lanzandolo desde el IDE de Delphi a la Aplicación, es decir cuando le damos a compilar y ejecutar.

en windows XP esto no me pasaba .... Alguna Idea ??
desde ya muchas gracias por su tiempo.
Saludos.
  • 0

#2 jdepaz

jdepaz

    Advanced Member

  • Miembros
  • PipPipPip
  • 264 mensajes
  • LocationMedellín Colombia

Escrito 13 mayo 2012 - 08:58

Saludos a todos


Esto me hace pensar en el uso de Threads (hilos)



  • 0

#3 cadetill

cadetill

    Advanced Member

  • Moderadores
  • PipPipPip
  • 994 mensajes
  • LocationEspaña

Escrito 14 mayo 2012 - 01:22

Buenas,

Como dice jdepaz, quizá sea buena idea lanzar un hilo para realizar la tarea. No obstante, en tu proceso, procesas los mensajes de Windows (Application.ProcessMessages)?

Nos leemos

  • 0




IP.Board spam blocked by CleanTalk.