Как считать сообщение Indy TCP клиентом в неблокирующем режиме?

Здравствуйте!

Использую родной билдеровский Indy 8.0.25. Необходимо отправить запрос серверу и получить ответ. С отправкой проблем нет. Использую функцию IdTCPClient1->Write() для передачи строки AnsiString. А вот с приемом проблемы. Прием должен быть в неблокирующем режиме, т.е. проверка входных данных не должна останавливать выполнение программы. Но что-то я в перечне доступных свойств и методов не вижу ни получения размера принятого буфера данных, ни функции считывания произвольного принятого буфера данных. Вижу только метод ReadLn() - блокирующее считывание строки с окончанием \r\n. Этот метод мне не подходит. Как быть?

Спасибо.