Le estoy dando vueltas, pero no consigo hacerlo. Quiero presentar un formulario mientras se ejecuta un proceso, ya que no quiero tener al usuario en vilo sin saber que es lo que pasa viendo el relojito. También lo podría aplicar para según que importaciones.
La verdad es que lo único que quiero es presentar un formulario (ej. "Enviando mensaje" ó "Facturando albarán"). Es un mensaje que se presenta en un periodo de tiempo corto, no para largas esperas.
Así a bote pronto podrías llamar a un formulario y en este formulario tener un evento con un timer que ejecute tu proceso y que acepte la interfaz. Así te saldrá el formulario, y se quedará en pantalla hasta que acabe el proceso.
Habría que probarlo pero podría servir. Un formulario sin origen que llame desde un manejador de objetos y así decidir el mensaje que quiero sacar y que tenga un evento con un timer que dispare distintos procesos. Algo asi podría servirte.
Ya lo he probado, pero cuando disparo el formulario, el proceso que lo llama queda a la espera a que sea aceptado. No consigo disparar un formulario y que el procesa siga su curso.
- He creado un formulario sin origen y con un timer (al formulario le he puesto el timer a 5000)
- He creado un eventConect con la señal timer que lanza el evento.
- El evento creado tiene una condición sobre una variable global, que si es 1, lanza "Interfaz: aceptar"
Desde el formulario principal que llama al form anterior:
- Es un formulario con origen ficha que al aceptar ejecuta un evento.
- Este evento llama mediante el manejador de Objetos a un proceso (lo hago así, por que le paso unas cuantas variables, que después me devuelve otras variables con las que modifico los campos de la ficha del formulario).
-En este proceso, al principio, llamo al formulario sin origen, que tiene que desaparecer cuando el proceso finalice. Pero mientras el formulario sin origen está en pantalla el proceso queda parado.
Claro, se te queda el proceso parado porque desde el proceso llamas al formulario y después ejecutas el resto de instrucciones. Osea, muestra el formulario, esper que se cierre y sigue ejecutando el proceso.
Como se me ocurrió antes, que habría que ver si así lo podíras hacer, es ejecutar el proceso desde el formulario. Así éste se te queda en pantalla hasta que acabe el proceso que está ejecutando gracias al timer.
Habría que saber exactamente lo que haces para ver si se podría hacer.