Delphi - como puedo detener mi programa?

 
Vista:

como puedo detener mi programa?

Publicado por Mario (13 intervenciones) el 12/11/2004 02:47:15
tengo un bucle que busca en un RichEdit una cadena de texto .El RichEdit se carga con el contenido de un archivo .Mientras busca cadenas de texto y si encuentra muchas no responde hasta que termina de leer el RichEdit .Noto tambien que en la TolsBar donde tengo un Label que actualiza la hora ,se detiene y continua cuando termina la busqueda .Me gustaria resolver estos dos problemas si se puede .Saludos :)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:como puedo detener mi programa?

Publicado por Dr Juzam (821 intervenciones) el 12/11/2004 03:20:16
Bueno, hay que ver tanto el código que usas (puede que no esté bien optimizado) como la máquina en la que estás ejecutando el programa. Sin embargo, a no ser que cargues un archivo MUY grande, no debería quedarse colgado buscando una cadena de textos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

no es eso tengo una maquina con un 2.2 G

Publicado por Mario (13 intervenciones) el 12/11/2004 03:25:38
Yo vi en aplicaciones en delphi que mientras el programa esta trabajando con una tarea se puede apretar un boton "Cancelar" y se detiene
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:no es eso tengo una maquina con un 2.2 G

Publicado por Kwerty (112 intervenciones) el 12/11/2004 07:03:57
¿Has pensado implementar el proceso de búsuqeda en un hilo o algo así?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:no es eso tengo una maquina con un 2.2 G

Publicado por Delfino (1216 intervenciones) el 12/11/2004 09:59:12
Puedes usar un Thread para solucionarlo, pero tambien puedes solucionarlo solamente con incluir esta phrase (Application.ProcessMessages;) dentro de la bucle..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como puedo detener mi programa?

Publicado por BigLuis (713 intervenciones) el 12/11/2004 20:31:08
Para lo de la actualizacion del TEdit y que el programa no parezca que se te ha colgado lo mas elegante y eficiente, aunque mas dificil de implementar, es una de las soluciones apuntadas por Delphino, es decir un hilo aparte.
Pero tambien lo puedes solucionar con la otra solucion de Delphino: En medio del bucle colocas Applicattion.Processmessage y tras actualizas el valor del TEdit desde el bucle llas a TEdit.Refresh o Update ahora no estoy seguro.Para detener (Cancelar) la operacion declaras una variable externa Boolean y dices While variable=True do.En cada iteracion del bucle comprueba el valor de la variable y cuando sea false (que tu lo dices desde un boton) el bucle cesa.Tambien lo puede comprobar en medio del bucle If variable=falñse then Breack;
Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar