Hola a todos!!
puede ser que necesites hacer un Application.processMessages después de intentar conectar para que el componente detecte el cambio de estado, en cualquier caso ¿Que tipo de error te genera?
Intenta probar con este código
Código Delphi
[-]
procedure TForm2.TestConnection;
var
intentos: integer;
begin
try
try
intentos := 30;
ClientSocket1.Open;
while (intentos > 0) and not ClientSocket1.Active do begin
Application.ProcessMessages;
Sleep(250);
Dec(intentos);
end;
ClientSocket1.Socket.SendText('#I#');
finally
if ClientSocket1.Active then
ClientSocket1.Close;
end;
except
on e: Exception do
MessageDlg(E.Message, mtError, [mbOK], 0);
end;
end;