El componente en cuestion es un TIdUDPServer. Estoy intentado programar una especie de "Pictionary" online.
Uso su evento OnUDPRead para que al recibir strings que otro ordenador produjo y envio en un OnMouseMove, las grabe en una variable y con ello dibuje en un canvas.
De momento dibuja perfecto. El problema es que al levantar el raton en el ordenador con el programa cliente, el programa servidor se queda colgado y no reacciona. He intentado que el programa cliente mande '&' en un OnMouseUp, y que en el servidor deje de leer cuando la reciba, asi
procedure TForm1.serviOnUDPRead blabla
begin
if TIDUDPServer.receivestring(-1):='&' then
exit;
(y despues sigue todo el codigo para pintar usando el canvas)
Aun asi se sigue colgando y no reacciona. El componente AntiFreeze tampoco me ayuda.
Hay algun comando que sirva para que deje de leer al recibir el '&' y la aplicacion reaccione cuando intento hacerle otra cosa, como por ejemplo cerrarla?
Espero haberme explicado bien
Muchas gracias por su ayuda!