mensaje mientras hay proceso
Buenas queridos amigos del foro:
Mi pregunta es la siguiente trabajo con el delphi 6.0 y mysql, en el programa hay un proceso que debeo realizar de llenado de datos a una tabla, y deseo que mientras ese proceso este ejecutandose aparezca una ventana que le diga al usuario que se esta procesando y desaparezca cuando termine, por ahora la unica forma que encontre de hacer esto es mostrar un showmessage al principio y cuando finalize otro showmessage que dice que el proceso ha terminado showmessage('','Texto',''); procedimientos para llenado .. .. showmessage('','Finalizo'); |
El proceso debes crearlo con un hilo, puedes instanciar un objeto de la clase Thread, de eso hay ejemplos en el IDE, mandas tu mensaje y le das al hilo su respectivo Execute.
|
Gracias por responder, lamentablemente no tengo los ejemplos ahi asi que quisiera saber si tienes algun ejemplo o algun link donde pueda ver como debo hacer esto?
|
Yo lo puedo hacer en Builder, conozco Pascal pero no Object Pascal para aqello de la herencia y objetos, me extraña q tu IDE no traiga ejemplos, puedo entender codigo de ahi y pasarlo a C++ pero no siempre al contrario
ahi te paso un ejemplo q trae el builder de como implementar una, espero q te sirva de algo: Código:
class TSparkyThread : public TThread |
Aja!! lo encontre, el ejemplo de como usar una hebra con la WinAPI:
http://www.clubdelphi.com/foros/showthread.php?t=19588 |
Disculpen, no entiendo para qué usar un hilo. Por lo que describe Marcelo, sólo le interesa mostrar un mensaje que indique al usuario que está corriendo el proceso; no menciona nada de correr el proceso en "background" o algo así.
// Saludos |
marcelofabiani:
Cita:
|
Yo sólo quería aclarar para no confundir a Marcelo. Sin embargo, es bueno que hayas mencionado los hilos porque quizá sea una posibilidad que no ha considerado (ejecutar el proceso en segundo plano) y por ello piensa en un mensaje mientras se ejecuta.
// Saludos |
roman:
Cita:
|
Yo queria hacer algo igual...me meti con los hilos y se me hizo mucha complicacion solo para un mensaje. Asi que hice lo siguiente: Cree un form con un TLabel con alignment a "aClient". El form lo pongo como centrado y como lo quiero mostrar (sin botones minimizar, cerrar, etc.) obviamente sin dar la posiblidad de cerrarlo mas que por código. Antes de ejecutar la operacion que tomara tiempo, asigno el form a una variable y lo creo al vuelo, modifico lo que quiero que diga el TLabel y muestro el form en forma no-modal para que se quede visible y se siga ejecutando la operacion...durante la operacion que este haciendo puedo inclusive actualizar lo que muestra el form.. al terminar mi opeacion..simplemente libero el form (y la memoria) y listo...
Se que no es una solución muy elegante, pero el resultado es bastante bueno y me ha funcionado muy bien.. |
La franja horaria es GMT +2. Ahora son las 16:22:31. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi