PDA

View Full Version : [Vb.Net] invio dati con NetworkStream


immakx
01-06-2009, 09:50
Si lo sò, son sempra qua ...
Allego le poche righe di codice fonti del mio problema:


Private Sub SendRequest(ByVal Comando As String)
Dim ToSnd() As Byte
Try
If Client.Client.Connected Then
If NetStr.CanWrite Then
ToSnd = Encoding.ASCII.GetBytes(Comando)
NetStr.Write(ToSnd, 0, ToSnd.Length)
End If
End If
Catch MyE As Exception
ErrGest(MyE, "Invia Dati:" & vbCrLf & Comando)
End Try
End Sub


In debug su emulatore funziona tutto ... quando lo compilo è lo metto nello smartphone, ( che non riesco ad associare a Visual Studio 2008 per il debug reale ) va in errore riferendo NullRefenceException. :doh:

Per la cronaca il parametro "Comando" arriva perchè poi nella gestione dell'errore lo vedo. Cosa può interferire ?
Smartphone = Win Mob 6 + FrameWork 3.5

MarcoGG
01-06-2009, 10:18
Quindi ricevi una finestra d'errore Framework... E non c'è un numero riga in cui si verifica NullReferenceException ? :stordita:

immakx
01-06-2009, 12:26
Questa è la routine che richiamo sempre per farmi vedere gli errori, ovvero mi fa apparire davanti a tutto una textbox ( chiamata ErrBox ) dove mi scrive il "Message".


Public Sub ErrGest(ByRef Errore As Exception, ByVal Posizione As String)
Form1.ErrBox.Text = Errore.Message + vbCrLf + TimeString + vbCrLf + "Da: " + Posizione
Form1.ErrBox.Visible = True
Form1.ErrBox.BringToFront()
End Sub


Come dicevo il messaggio di errore che ricevo però recita solo "NullRefenceException" senza darmi ulteriori particolari ...:help:

MarcoGG
01-06-2009, 14:49
Forse questo può aiutare a scoprire qualcosa in più... :

Try
'...
'...
Catch ex As Exception
Dim ST As New System.Diagnostics.StackTrace(ex)
Dim descrErrore As String = " Metodo = " & ST.GetFrame(0).GetMethod.Name & vbCrLf & _
" Linea = " & ST.GetFrame(0).GetFileLineNumber & vbCrLf & _
" Colonna = " & ST.GetFrame(0).GetFileColumnNumber
End Try

immakx
01-06-2009, 17:45
Provato ... senza risulatato ovvero, lo stacktrace riesco a prenderlo solo dalla "Exception", mentre quello che consigliavi ovvvero "System.Diagnostics.StackTrace" mi dice che la StackTrace non è un membra valido.Dovevo importare solo System.Diagnostics, e System.Exception giusto ?

Potrebbe essere che sotto Smartphone con Windows Mobile 6 non la accetti ?

Comunque utilizzando "Exception.StackTrace" il msg di errore non è più "NullRefenceException" ma ora mi restiusce il nome della sub che avevo inserito nel primo post ovvero "in SendRequest(ByVal Comando As String)":what:

MarcoGG
01-06-2009, 20:43
Temo di no. System.Diagnostics.StackTrace non pare supportato da CF... :(
A questo punto mi sa che ho esaurito i consigli, per ora.

immakx
02-06-2009, 10:24
Va bhè, c'abbiamo provato.
In qualche modo ne verrò a capo, grazie comunque.

Ciao Ciao