PDA

Ver la Versión Completa : Mover formulario principal en ejecución


Guillermo80
11-05-2008, 21:51:37
Hola, al ejecutar una aplicación ya se sabe que el formulario se queda como "congelado", y querría saber cómo poder moverlo en tiempo de ejecución. He estado buscando pero no veo claro cómo hacerlo, además pretendo que se haga de la forma más sencilla posible, no pretendo mover los elementos dentro del form, sino el bloque "completo".

Otra cuestión que tengo es cómo Cancelar una ejecución. Yo lo hacía poniendo un botón que al hacer OnClick se haga:

CancelOp := true;..pero no me sirve, supongo que es porque en ejecución todos las acciones sobre el formulario están bloqueadas. Me gustaría saber cómo "desbloquear" alguna de ellas, concretamente me bastaría con desbloquear el botón Cancel, ya que según he visto, lo de CancelOp debería funcionar bien.

Un saludo.

coso
11-05-2008, 22:19:26
el formulario no se queda congelado. Todo funciona mientras ejecutas una aplicacion...quiza estes ejecutando algo dentro de un bucle cerrado...prueba de poner dentro de el Application.ProcessMessages;

Guillermo80
11-05-2008, 23:25:08
Efectivamente tengo ejecutando un bucle, por eso digo que el form está congelado (por eso digo lo de "en tiempo de ejecución", por estar ejecutando operaciones al tiempo que intento mover el form), porque no se puede mover mientras se está procesando ese bucle, ni mover ni tocar otro botón. Tiene que haber algún evento que permita mover la aplicación, algo que "desbloquee" el movimiento del formulario.

De hecho, esto me dijeron en su día que se podía hacer, ¿alguien sabe cómo?

Un saludo.

coso
11-05-2008, 23:38:38
Esa es una manera antigua de trabajar (un bucle infinito para ejecutar la aplicación, si puedes echa un vistazo a 'Threads' o hilos)...Igualmente, con lo q te he dicho, pon la orden Application.ProcessMessages dentro del bucle.

Guillermo80
12-05-2008, 22:18:04
Gracias Coso, tenías razón, ahora puedo mover el formulario y cancelar la operacion. El único problema que tendría ahora es que en realidad están habilitados todas las operaciones sobre el Form, cuando yo tan sólo quiero poder moverlo y poder utilizar mi botón de cancelación...