Cita:
Empezado por noshy
El código del thread es el que publique arriba, lo publique en dos partes [...] es el procedimiento del evento OnExecute delcomponente Indy TCPServer. La primer parte son las funciones declaradas dentro del pocedimiento para que las cargue en cada thread y la segunda parte esel procedimiento en si.
|
¿Qué uso tiene ese componente y qué propósito tiene ese evento en particular? (Casi no he usado los Indy).
¿El código se ejecuta con sincronía/semáforos? Esto lo pregunto porque ahí veo referencias a elementos de la interfaz de usuario, que si no controlas la sincronía tendrás problemas de colisión.
¿Te es viable elaborar una aplicación de prueba donde te asegures de llamar tú mismo a ese manejador de eventos desde numerosos hilos a fin de provocar el error de forma controlada en tu computadora de desarrollo?
¿Hay forma de instalar el entorno de Delphi en la computadora donde actualmente ocurre el problema y ejecutar ahí la aplicación con el depurador activo, a fin de detectar con el mismo IDE el código fuente donde ocurre la excepción inicial?
Por ahora te recomiendo que encierres el código fuente de cada una de esas rutinas en un Try-Except similar a este:
Código Delphi
[-] Function ValidarCosa1 :Boolean;
Begin
Try
Except
On E :Exception Do
ShowMessage ('Excepción en ValidarCosa1: ' + E.Message); End;
End;
A fin de encontrar cuál de todas ellas es la que genera la excepción.