"Tomas Christiansen" <toc-01-nospam@blikroer.dk> skrev i en meddelelse
news:c0u3ao$1m8t$1@news.cybercity.dk...
> Steen Gellett skrev:
> > Dim Read As String
> ...
> > Open lblSendFil.Caption For Binary As #FileNumber
> ...
> > Get #FileNumber, , Read
> > TcpServer.SendData Read
>
> Rent principielt er det noget rod at lægge binære data i en streng. Husk
på
> at VB arbejde med Unicode strenge, som f.eks. ved afsendelse via
> Winsock-kontrollen bliver konverteret til det som Microsoft kalder ANSI.
> Brug byte-arrays til binære data!
>
> > TcpServer.GetData NewArrival
> > DataTotal = DataTotal + Len(NewArrival)
> > If DataTotal >= FileIndSize Then
> > DoEvents
>
> Hvorfor DoEvents her?
>
> > Put #FileNumber, , CStr(Left(NewArrival, Len(NewArrival) -
> > (DataTotal - FileIndSize)))
>
> Hvad gør du med resten af de modtagne data?
Den linie gør at når den har hentet de sidste 2048 bytes så bliver kun det
den
skal bruge gemt..............ellers vil fil størrlesen jo blive ukorrrekt
> Hvorfor prøver du at konvertere resultatet af funktionen Left til en
streng?
Kun for at teste om det måske var her der kommer snavs ind.....men det
skader vel ikke ??
>
> > Else
> > DoEvents
>
> Hvorfor DoEvents her?
Igen forsøg.........jeg er desperat
>
> > Put #FileNumber, , CStr(NewArrival)
Her er resten af de modtagne data.........det er HELE 2048 bytes strings som
kommer ind
i en lind strøm...................indtil den når slutningen.......som du så
længere oppe
>
> Hvilken datatype er NewArrival siden du prøver på at konvertere til en
> streng?
NewArrival ER en string iforvejen.................som sagt jeg har prøvet
for at se om det hjalp,
men igen at konvertere fra string til string skader vel ikke ??
>
> -------
> Tomas
>