FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
hola a todos
en tu código veo varios cosas que te pueden dar erroes: -pones el BeginUpdate / EndUpdate dentro del hilo y dentro del bucle, por lo que se repite en cada ciclo, cuando solo es necesario hacerlo una vez al principio y al final del proceso. -Por otra parte, haces un application.ProcessMessages también dentro del hilo... si ya tienes un hilo secundario, el processMessages no es necesario, y de hacerlo hazlo en el hilo principal. A mi este código me funciona bien:
En este ejemplo en particular no utilizo tthread.Synchronize, a pesar de ser lo recomendable para actualizar un componente visual, pero en este ejemplo en particular solo escribe un único hilo de forma secuencial y no debe de dar problemas. En caso de usar varios hilos para actualizar el componente entonces si es ya necesario. |
#2
|
||||
|
||||
El Synchronize es obligatorio a utilizar en todos los Threads en el momento que acceder a un elemento que no sea "thread-safe", como son los componentes de la VCL.
Independientemente de si tú creas varios hilos o sólo uno, porque aunque tú sólo crees uno, hay otro que siempre está funcionando, que es el "Main thread" (el principal de la aplicación). Por lo tanto. debería utilizarse siempre. Cita:
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Arithmetic exception | NickName | Firebird e Interbase | 5 | 12-12-2022 22:14:12 |
Llenar listview desde archivo web | paquechu | FireMonkey | 2 | 13-09-2018 20:15:37 |
¿Como llenar un listview con datos seleccionados de un DBlookuplistbox? | eduarcol | OOP | 1 | 11-08-2007 02:47:06 |
exception | arieliten | Conexión con bases de datos | 3 | 21-04-2005 00:27:59 |
Arithmetic Exception | NickName | Firebird e Interbase | 4 | 13-09-2004 17:00:42 |
|