Помогите разобраться со следующей задачей. У меня есть компонента TClientSocket. Сейчас я обрабатываю данные по событию

procedure TMainForm.ClientSocket1Read(Sender:TObject; Socket: TCustomWinSocket);

потом проверяю длину принятых байт и вызываю Socket.ReceiveBuf.

А мне бы хотелось сделать отдельный поток, который бы крутился и постоянно проверял событие OnRead и выполнял указанные действия. Как это можно сделать, не могу понять никак. Спасибо за ответ.