Oppure

Loading
19/10/11 18:07
Qwertj
Il problema è di overflow: la variabile lenght è di un tipo troppo piccolo per contenere un numero del genere. Prova a usare un tipo unsigned (siccome lunghezze negative non esistono) e magari bello lungo, tipo UInt64.

Il fatto che dia divisione per zero è che quando una variabile vale ad esempio (in binario)
11111111
E lo spazio riservato per quella variabile è un byte (8 bit), se io aggiungo uno ottengo
100000000
Ma siccome il computer va a prendere solo i primi 8 bit, per lui la variabile è diventata 00000000, cioè zero
aaa
19/10/11 18:30
Ma non mi pare che 300 milioni sia un valore troppo grande per quella variabile ...
19/10/11 18:53
xsi
Vi ringrazio dell'aiuto, farò tesoro dei messaggi di entrambi in modo da rivedere il programma, intanto per l'utilizzo che dovevo farne ho creato un nuovo programma più semplice ma che mi riporta comunque tutti i dati dell'altro.

Grazie ancora.
aaa
20/10/11 13:14
Qwertj
Postato originariamente da nessuno:
Ma non mi pare che 300 milioni sia un valore troppo grande per quella variabile ...

Che ne sai? Se fosse dichiarata come Byte già 1000 sarebbe un valore troppo alto... un semplice Integer arriva solo a 32676
aaa
20/10/11 15:16
Postato originariamente da Qwertj:
Che ne sai?


Non essendo ancora un mago, ho scaricato il suo codice e ho letto

Dim length As Long = theResponse.ContentLength

un semplice Integer arriva solo a 32676


A parte che un integer (se inteso a 16 bit) arriva a 32767 e non 32676, stiamo parlando di .NET in cui un Integer è inteso a 32 bit.