Buongiorno a tutti,
premetto che ho cercato sui vari forum ma non sono riuscito ad arrivare ad una soluzione.
Sto cercando di adattare una piccola routine scritta in Vb6 che spedisce un serie di byte verso un indirizzo ip di brocast.
Praticamente construisco i singoli byte da 0 a 18, li converto in stringa ,e poi spedisco la stringa via UDP
Giusto per conoscenza, invio un timecode secondo il protocollo ArtNet.Questa qui sotto è la semplice routine in Vb6 che tutt'ora utlizzo
Questo invece il mio tentativo in B4A
Mi trovo in grosse difficolta dato che la sintassi e gli argomenti sono parecchio differenti e non li comprendo tutti fino in fondo
Non sono una cima in fatto di programmazione, e di rete in particolare.
quando compilo in debug mi restituisce
Errore nella linea: 333
Dim stringa As String = BytesToString(buffer_smpte, 0, buffer_smpte.Length, "UTF8")
Main - 333: La dichiarazione attuale non corrisponde alla precedente.<br />Previous: {Type=StringFunctions,Rank=0, RemoteObject=True}<br />Current: {Type=String,Rank=0, RemoteObject=True}
Qualcuno mi potrebbe indicare dove sbaglio?
Grazie a chiunque possa darmi una mano.
Scusate per il disturbo
Mario
premetto che ho cercato sui vari forum ma non sono riuscito ad arrivare ad una soluzione.
Sto cercando di adattare una piccola routine scritta in Vb6 che spedisce un serie di byte verso un indirizzo ip di brocast.
Praticamente construisco i singoli byte da 0 a 18, li converto in stringa ,e poi spedisco la stringa via UDP
Giusto per conoscenza, invio un timecode secondo il protocollo ArtNet.Questa qui sotto è la semplice routine in Vb6 che tutt'ora utlizzo
B4X:
Dim buffer_smpte(18) as byte
dim stringa as string
buffer_smpte(0) = "A"
.
.
buffer_smpte(18)="25"
stringa=strConv(buffer_smpte, vbunicode)
winsock1.senddata stringa
Questo invece il mio tentativo in B4A
Mi trovo in grosse difficolta dato che la sintassi e gli argomenti sono parecchio differenti e non li comprendo tutti fino in fondo
Non sono una cima in fatto di programmazione, e di rete in particolare.
B4X:
'in process globals
Dim UDPSocket1 As UDPSocket ' inzializzo il protocollo------------
' in globals'
Dim lung_byte As Int = 18
Dim buffer_smpte(lung_byte) As Byte 'inizializzo i bytes'
Dim IP As String ' indirizzo broadcast
Dim Packet As UDPPacket 'inizializzo il pacchetto da spedire'
' in activi create'
If FirstTime Then 'inzializzo il protoccolo e la porta------
UDPSocket1.Initialize("UDP", 6554, 128)'
IP="2.255.255.255"
ToastMessageShow("Porta 6554 initializzata.",True)
End If
'routine di creazione e spedizione stringa artnet
buffer_smpte(0)="A"
buffer_smpte(1)="r"
.
.
buffer_smpte(18)="25" 'frame rate smpte
Dim stringa As String = BytesToString(buffer_smpte, 0, buffer_smpte.Length, "UTF8")
Packet.Initialize(stringa, IP,6554) 'IP indirizzo dichiarato in partenza
UDPSocket1.Send(Packet)
Errore nella linea: 333
Dim stringa As String = BytesToString(buffer_smpte, 0, buffer_smpte.Length, "UTF8")
Main - 333: La dichiarazione attuale non corrisponde alla precedente.<br />Previous: {Type=StringFunctions,Rank=0, RemoteObject=True}<br />Current: {Type=String,Rank=0, RemoteObject=True}
Qualcuno mi potrebbe indicare dove sbaglio?
Grazie a chiunque possa darmi una mano.
Scusate per il disturbo
Mario