[Lazarus-es] Formulario no refresca en ciclos grandes

christian Ortiz xortix en gmail.com
Mar Dic 29 16:15:09 CET 2009


*application.processmesage* dentro de tu bucle

El 29 de diciembre de 2009 09:34, Ismael L. Donis Garc?a <
ismael en citricos.co.cu> escribió:

> No, no lo puedo hacer en un proceso independiente, debe ser en el proceso
> principal. Lo que necesito es transferir el proceso a los otros sistemas de
> forma temporal o refrescar el formulario interciclo para evitar que la
> aplicación se maree ya que el sistema no debe dejar hacer nada más hasta
> que
> no termine esa operación. Así que no me sirve el multihilo o multihebra.
>
> Saludos a to2s
> =========
> ¦¦ ISMAEL ¦¦
> =========
> "Oír o leer sin reflexionar es una ocupación inútil".
>               Confucio (551-479 a. C.); filósofo chino.
>
> ----- Mensaje original -----
> De: "JoshyFun" <joshyfun en gmail.com>
> Para: "Spanish version of Lazarus List"
> <lazarus-es en lists.lazarus.freepascal.org>
> Enviado: lunes, 28 de diciembre de 2009 04:06
> Asunto: Re: [Lazarus-es] Formulario no refresca en ciclos grandes
>
>
> Hello christian,
>
> Monday, December 28, 2009, 10:38:20 PM, you wrote:
>
> cO> intenta algo como
> cO> application.processmessage
> cO> o usa algo mas decente con hilos de ejecucion (aveces le llaman hebras)
> cO>
> http://wiki.lazarus.freepascal.org/Multithreaded_Application_Tutorial/es
>
> Una hebra es otra cosa, aunque algunos a veces lo usan incorrectamente
> de manera indiferente.
>
> Cuando un sistema operativo ejecuta cosas lo puede hacer en 3 modos
> "básicos":
>
> Proceso:
> -------------
> A) El código tiene una zona de programa común (todas las copias del
> mismo proceso comparten el código).
> B) La zona de datos es diferent para cada proceso.
> C) Stack independiente para cada proceso.
>
> Thread o Hilo
> -------------
> A) El código es común entre todos los procesos iguales e hilos
> iguales.
> B) Zona de datos común para todos los hilos de un mismo proceso.
> C) Stack independiente para cada hilo.
>
> Fiber o hebra
> -------------
> A) El código es común entre todos los procesos iguales, hilos y
> hebras iguales.
> B) Zona de datos común para todos los hilos y hebras de un mismo
> proceso.
> C) Stack común para todos.
>
> Esto implica que la multitarea en una hebra o "fiber" no es posible
> del mismo modo que con un "thread", y esta ha de ser "cooperativa" al
> igual que lo eran los threads y los procesos en Win 3.1.
>
> La ventaja de la hebra sobre el thread es que hacer un "task
> switching" no requiere poner el procesador en modo "context switch" lo
> que requiere muchos ciclos, ya que todo el proceso se realiza en el
> modo "usuario" o "ring 3".
>
> Windows creo que soporta hebras desde Vista en adelante, pero
> programar con hebras es para artistas :)
>
> --
> Best regards,
>  JoshyFun
>
>
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>
>
>
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>



-- 
Christian
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20091229/a2f1de81/attachment-0002.html>


More information about the Lazarus-es mailing list