Ver Mensaje Individual
  #15  
Antiguo 08-02-2017
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Reputación: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por noshy Ver Mensaje
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
      // Código actual...
    Except
      On E :Exception Do
        ShowMessage ('Excepción en ValidarCosa1: ' + E.Message);  // <--- Y/o "log" a disco
    End;
  End;
A fin de encontrar cuál de todas ellas es la que genera la excepción.
Responder Con Cita