Salve a tutti

Avrei l'intezione di creare un prog in Delphi, che emula quello che fa Telnet...tanto per imparare un po meglio delphi....
Praticamente mi collego tramite la funzione TcpClient del delphi ad un host, con ip e porta inserite dall'utente....per esempio collegandosi ad un servizio di posta in uscita....
Quindi emulando la stringa di telnet("o smtp.libero.it 25")...
A questo punto in telnet si dovrebbe ricevere una stringa del tipo: 220 smtp2.libero.it ESMTP Service......ecc ecc...
Nel mio programma a questo punto(appena cliccato sul tasto Connetti), dovrebbe apparire in una casella di testo o in una memo, la stringa qui sopra...
Utilizzo quindi la funzione TcpClient1.Receiveln per visualizzare la stringa ricevuta....
Questa però non viene visualizzata...o meglio, viene visualizzata solo la seconda volta che ho premuto il tasto connetti(anche se sono sicuro che la connessione sia già attiva)....
Stessa cosa avviene quando invio la stringa "Helo ****"....ricevo la risposta solo la seconda volta che premo il tasto apposito...
Ma cliccando due volte il tasto, è ovvio che il comando viene inviato due volte, e anche se questo non è evidente e non si vede, ovviamento non va bene...
Quindi....sempre che qualcuno mi abbia capito...avete la più pallida idea del perché ? THX