Ver Mensaje Individual
  #1  
Antiguo 16-08-2007
labelsoft labelsoft is offline
Registrado
 
Registrado: ago 2007
Posts: 1
Reputación: 0
labelsoft Va por buen camino
Question Perdida del foco en MessageDlg

Tengo un problema que me lleva de cabeza con la función MessageDlg.

En una aplicación MDI, desde algunos formularios, al pulsar un botón realizo una tarea que lleva bastante tiempo (varios minutos), durante los cuales la aplicación queda congelada hasta terminar el proceso. Al finalizar muestro un mensaje de “Tarea realizada” con MessageDlg o ShowMessage. La mayoría de las veces funciona correctamente, pero los usuarios se quejan de que muchas veces la ventana no aparece (es como si estuviese detrás de la aplicación) quedando la aplicación paralizada completamente, otras veces si que aparece pero no tiene el foco ni hay forma de que coja el foco, ni con el ratón ni con el teclado.

Sulele fallar más si el cliente se dedica a pulsar con el ratón mientras se realiza la tarea (la aplicación está ocupada y no recibe los clicks) o si cambia a otra aplicación. Cuando vuelve a la aplicación al pulsar en el botón de la barra de tareas, se muestran las ventanas, pero o bien la ventana del dialogo no se ve y la aplicación no coge el foco (la barra superior no se pone azul), o si se ve, no puede coger el foco.

He pensado en cambiar todos los MessageDlg por MessageBox, pero tengo cerca de 300 y me puede llevar mucho tiempo.

También he intentado buscar información en google, pero aunque he encontrado algún caso similar no especifican la solución.

Agradecería cualquier ayuda.
Responder Con Cita