Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Formulario bloqueado por un hilo

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Formulario bloqueado por un hilo Responder citando

Hola,

estoy ejecutando en un hilo un proceso complejo que dura entre 30 y 60 segundos. Durante ese tiempo el formulario se me queda bloqueado, incluso tengo un timer1 que no se me ejecuta durante ese tiempo. La prioridad del hilo la tengo como media.

¿Alguien sabe qué puedo hacer?

Graciasss!!!!
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

Ya encontré la solución.

Lo q hice fue usar la siguiente función que puso una vez por aquí César, en el nucleo donde ejecutaba el proceso.

Código:

void ProcessMessages(void)
{
    MSG msg;
    while (PeekMessage(&msg, 0, 0, 0, PM_REMOVE))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
}
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

¿como puede bloquearte un hilo "indeoendiente" un formulario?

PD: Quiero un tutorial sobre ProcessMessages que con esto se pueden hacer muchas cosas útiles ^^.

thx.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Me imagino que eso es gracias a la "maravilla" de Windows. En un principio lo tenía sin hilo, ya que pensaba que el proceso mientras se ejecutaba, el time1 se encargaría de ir refrescando el formulario cada segundo con el estado actual del proceso.

Sin embargo no funcionaba, y fue cuando decidí meter el proceso en un hilo pero me seguía pasando lo mismo. Entonces utilicé ProcessMessages() que sirve si no me equivoco para que Windows pueda leer sus mensajes.

Si alguien más quiere poner su granito de arena sobre porqué pasaba esto o sobre la función ProcessMessages será bienvenido Smile
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor MSN Messenger
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.