multithreading delphi delphi-xe5

multithreading - Aplicación que tarda mucho tiempo en sincronizar los hilos(o no en absoluto)



delphi delphi-xe5 (1)

Estoy usando componentes REST en Delphi XE5 (iOS y Android). Actualmente estoy probando a través del simulador de iOS, y mi aplicación a menudo se cuelga en la siguiente línea dentro de mi código:

R_Request.Execute;

Después de una cierta depuración, encuentro que se cuelga específicamente en esta línea de código dentro de REST.Client.PAS:

HandleEvent(DoAfterExecute);

que se parece a

procedure TCustomRESTRequest.HandleEvent(AEventHandler: TMethod); begin // Handle Synchronized if we are NOT already in the main thread // NEVER call synchronize on the MainThread - that might shift the island! if SynchronizedEvents and (System.MainThreadID <> TThread.CurrentThread.ThreadID) then TThread.Synchronize(TThread.CurrentThread, AEventHandler) // FAILS HERE else AEventHandler; end;

O NO está devolviendo el hilo en .Synchronize o tardando un tiempo extremadamente largo (5 minutos más o menos) ... Funcionó una vez durante la depuración, pero no lo ha hecho desde ahora y otra vez (30 minutos más tarde, y después de dejarlo configurado) durante 5 minutos para devolver un hilo).

Ayuda ? ¿O al menos algún sentido de dirección que alguien pueda darme?

De nuevo, desarrollo para iOS y Android (por lo tanto, FMX ...) y actualmente se está probando a través del simulador de iOS. Gracias !