Hatte das gleiche Problem mit idFTP (läuft ja auch über idTCP)- der merkt auch nicht, wenn die Verbindung weg ist. Und das wörtlich gemeint - es gibt keine Eigenschaft die sich in diesem Szenario ändert.
Ich habe das dann so gelöst:
1. Antifreece-Komponente draufsetzen: onlywehreidle:=false
2. Eine Timer-Komponente draufsetzen
3. Procedure für
tcp.onbeginwork -> timer.enabled:=true; timer.tag:=0;
4. Procedure für
tcp.onwork -> Timer.Tag:=0;
5. Procedure für
tcp.onendwork -> Timer.enabled:=false;
6. Procedure für timer.OnTimer ->
if Timer.Tag=10
then //jetzt wirds wohl abgeschmiert sein...
else Timer.Tag:=Timer.Tag+1;
Das müsste auch mit idTCP funktionieren - allerdings nur, wenn die Verbindung während des datentransfers schlapp macht.
Gr. Delphimann