Cita:
Empezado por ermendalenda
Por si os sirve
Me estaba volviendo loco con el dichoso mensaje de No responde y elija la opción de esperar o cerrar.
A veces se produce una acción consulta externa, grabación...que tiene algún pequeño retardo y no puedo realizarlo asincronamente ya que tengo que esperar la respuesta. Me sucedia que si el usuario empieza a darle clicks a la pantalla del software, Windows pensaba que el programa podia estar bloqueado y "actuaba de oficio" y te daba la opción a interrumpir el programa, claro el usuario a veces le daba a cerrar, y esto a veces rompia la hilera de grabación y por lo tanto me podía romper el dichoso encadenamiento...
Pues nada ya he insertado en cada acción, que pueda tener retardo, un bloqueo de teclado y ratón antes y desbloqueo después y solucionado, pero claro, hay que hacerlo con extremada precaución, ya que el bloqueo es total, y si en medio de ese bloqueo desbloqueo el usuario tiene que ejecutar alguna acción de responder a algún mensaje, aceptar, ok... no podrá e irremediablemente tendrá que reiniciar el equipo.
|
Te propongo que el encadenamiento se haga de forma centralizada. Con un proceso único y centralizado (una cola temporal).
Cualquier bloqueo de un proceso local da al traste con todo el sistema de envíos y encadenamientos. Los DATAWARE de Delphi y C++ builder ya no sirven para eso. O al menos es mi impresión.
Un saludo.