![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Puede que el timer se este ejecutando mas de una vez simultaneamente.
Prueba a deshabilitar el timer durante su ejecución y habilitarlo cuando finalice. on timer. procedure TForm1.Timer1Timer(Sender: TObject); begin Timer1.Enabled := false; Try . . Finally Timer1.Enabled := True; end; end; |
|
#2
|
|||
|
|||
|
Eso ya lo probe pero nada de nada. Siguio igual.
Gracias de todos modos. |
|
#3
|
|||
|
|||
|
Esta muy feo, como el depurador no te ayuda tienes que llenar tu aplicación de todo tipo de controles, contadores, etc para que te avisen en todo momento que está pasando, cuantas veces llamas al timer, accesos a disco duro, inicio/fin de comunicación serial, contador de creación/destrucción de objetos, etc (Mejor llenar un archivo .txt con una especie de log de todo lo que pasa). Monitorea el consumo de memoria, cpu, etc. Verifica abrir archivos en modo de solo lectura si no los modificarás, recuerda como se comporta el xp en esos casos.
|
|
#4
|
|||
|
|||
Solucionadooooooo . El problema venia derivado por la llamada a la función SetCommMask() desde una función llamada desde el Timer y desde otra llamada desde el hilo de comunicación. Típico pero invisible al estar dentro de funciones llamadas dentro de otras y cuya llamada depende de la coincidencia en el tiempo. Una pena de que el Debugger no sea capaz de informarte de ello.Saludos. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|