Ciao oregon, innanzitutto grazie per l'intervento.
Sto scrivendo una DLL e ho dovuto impostare i riferimenti a Winsock come se fosse una libreria activex (Menù: Project -> References), non posso fare quello che si fa di solito e aggiungerla come component (Menù: Project -> Components) e poi aggiungere il component in un un form. Il form non c'è proprio, ho solo una classe dentro la DLL e metodi funzioni della classe.
Questo comporta che non ho a disposizione gli eventi di Winsock; solo proprietà e metodi (o funzioni).
Ho pensato anch'io che si trattasse di un problema di attesa tra SendData e GetData e per fare debugging ho inserito una funzione sleep che tiene in standby l'esecuzione per un determinato tot di tempo.
Il metodo Sleep era questo (dichiarato dentro un modulo bas):
la successione SendData e GetData avveniva cosìcodice:Declare Sub Sleep Lib "kernel32" (ByVal milliseconds As Long)
Non ha funzionato. Sono andato anche oltre gli 8 secondi di attesa, il socket viene addirittura disconnesso dal server per timeout ma la tmpHttpResponse è sempre vuota.codice:Do While winSck.State <> sckConnected DoEvents Loop If winSck.State = sckConnected Then winSck.SendData tmpHttpRequest Sleep 8000 ' dorme per 8 secondi winSck.GetData tmpHttpResponse, vbString
Credo ci sia qualcos'altro che sto sbagliando... ma non riesco proprio a capire.
Grazie ancora per l'intervento.
Ciao