Italian [b4a] errore al lancio della compilazione

ivanomonti

Expert
Licensed User
Longtime User
Abbiate pazienza e sopportatemi oltre che supportarmi :), alla compilazione mi viene fuori questo errore ma app gira lo stesso, vale dire trasmette e riceve i pacchetti (text) posto errore e codice completo tanto e cosa già stravista, non mi segnala errori a parte qualche variabile da modificare o eliminare visto il loro inutilizzo.

HELP @LucaMs @Star-Dust LO SO CHE VI STRESSO, ma abbiate pietà :cool:

B4X:
#Region Shared Files
#CustomBuildAction: folders ready, %WINDIR%\System32\Robocopy.exe,"..\..\Shared Files" "..\Files"
'Ctrl + click to sync files: ide://run?file=%WINDIR%\System32\Robocopy.exe&args=..\..\Shared+Files&args=..\Files&FilesSync=True
#End Region

'Ctrl + click to export as zip: ide://run?File=%B4X%\Zipper.jar&Args=Project.zip
' versione slave

Sub Class_Globals
    
    Private Root As B4XView
    Private xui As XUI
    
    Private TextSend As B4XView
    Private ButtonSend As B4XView
    Private RadioButton1 As B4XView
    Private RadioButton2 As B4XView
    Private RadioButton3 As B4XView
    Private ListView1 As ListView
    
    Dim SendData As UDPSocket
    Dim Myaddress As String
    Private MyPort As Int = 51015

End Sub

Public Sub Initialize
'    B4XPages.GetManager.LogEvents = True
End Sub

Private Sub B4XPage_Created (Root1 As B4XView)
    
    Root = Root1
    Root.LoadLayout("MainPage")
    
    setting
    
End Sub

private Sub setting
    ' eventneme + port + buffer
    SendData.Initialize("SendData",MyPort,8192)
    Myaddress = getMyAddress
    
End Sub

Private Sub getMyAddress As String
    Dim Addr As String
    Dim Serv As ServerSocket
    ' port + eventname
    Serv.Initialize(51099,"serve_sub")
    #IF B4J
    Addr = Serv.GetMyIP
    #Else
        Addr = Serv.GetMyWifiIp
    #End If
    Return Addr
End Sub

Private Sub TextField_sub_Action
    ButtonSend_Click
End Sub

Private Sub ButtonSend_Click
    
    Dim bt As Button = Sender
    
    Dim message As String
    message = TextSend.Text
    DateTime.DateFormat = "yymmdd-hhMMss"
    Dim prefix As String = "+393929824007"
    Dim sendtxt As String = prefix&message
    
    Dim P As UDPPacket
    P.Initialize( sendtxt.GetBytes("UTF8"),SendData.GetBroadcastAddress,MyPort)
    SendData.Send(p)
    
    TextSend.Text=""
    
End Sub

Private Sub SendData_PacketArrived (Packet As UDPPacket)
    If Packet.HostAddress<>Myaddress Then
        Dim datasend As String = DateTime.Now & " " & BytesToString(Packet.Data,0,Packet.Data.Length,"UTF8")
        Dim lb As Label
        lb.Initialize("lb")
        lb.SingleLine=False
        lb.Width=ListView1.Width-20
        lb.Tag = "id001-lb-lc-100"
        lb.Text = datasend
        If ListView1.IsInitialized = False Then
            ListView1.Initialize("ListView1")
        End If
        ListView1.AddSingleLine(lb.Text)
    End If
End Sub

Private Sub ListView1_ItemClick (Position As Int, Value As Object)
    
End Sub


B4X:
Logger connesso a:  samsung SM-T530
--------- beginning of main
*** Service (starter) Create ***
** Service (starter) Start **
** Activity (main) Create (first time) **
Call B4XPages.GetManager.LogEvents = True to enable logging B4XPages events.
** Activity (main) Resume **
b4xmainpage_senddata_packetarrived (java line: 160)
java.lang.UnsupportedOperationException: addView(View, LayoutParams) is not supported in AdapterView
    at android.widget.AdapterView.addView(AdapterView.java:706)
    at anywheresoftware.b4a.objects.PanelWrapper.AddView(PanelWrapper.java:65)
    at anywheresoftware.b4a.objects.B4XViewWrapper.AddView(B4XViewWrapper.java:326)
    at b4a.example.b4xmainpage._senddata_packetarrived(b4xmainpage.java:160)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at anywheresoftware.b4a.BA.raiseEvent2(BA.java:221)
    at anywheresoftware.b4a.BA$2.run(BA.java:395)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:145)
    at android.app.ActivityThread.main(ActivityThread.java:6134)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
*** Service (starter) Create ***
** Service (starter) Start **
** Activity (main) Create (first time) **
Call B4XPages.GetManager.LogEvents = True to enable logging B4XPages events.
** Activity (main) Resume **
b4xmainpage_senddata_packetarrived (java line: 160)
java.lang.UnsupportedOperationException: addView(View, LayoutParams) is not supported in AdapterView
    at android.widget.AdapterView.addView(AdapterView.java:706)
    at anywheresoftware.b4a.objects.PanelWrapper.AddView(PanelWrapper.java:65)
    at anywheresoftware.b4a.objects.B4XViewWrapper.AddView(B4XViewWrapper.java:326)
    at b4a.example.b4xmainpage._senddata_packetarrived(b4xmainpage.java:160)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at anywheresoftware.b4a.BA.raiseEvent2(BA.java:221)
    at anywheresoftware.b4a.BA$2.run(BA.java:395)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:145)
    at android.app.ActivityThread.main(ActivityThread.java:6134)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
*** Service (starter) Create ***
** Service (starter) Start **
** Activity (main) Create (first time) **
Call B4XPages.GetManager.LogEvents = True to enable logging B4XPages events.
** Activity (main) Resume **
b4xmainpage_senddata_packetarrived (java line: 160)
java.lang.UnsupportedOperationException: addView(View, LayoutParams) is not supported in AdapterView
    at android.widget.AdapterView.addView(AdapterView.java:706)
    at anywheresoftware.b4a.objects.PanelWrapper.AddView(PanelWrapper.java:65)
    at anywheresoftware.b4a.objects.B4XViewWrapper.AddView(B4XViewWrapper.java:326)
    at b4a.example.b4xmainpage._senddata_packetarrived(b4xmainpage.java:160)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at anywheresoftware.b4a.BA.raiseEvent2(BA.java:221)
    at anywheresoftware.b4a.BA$2.run(BA.java:395)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:145)
    at android.app.ActivityThread.main(ActivityThread.java:6134)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
Copying updated assets files (1)
*** Service (starter) Create ***
** Service (starter) Start **
** Activity (main) Create (first time) **
Call B4XPages.GetManager.LogEvents = True to enable logging B4XPages events.
** Activity (main) Resume **
Error occurred on line: 90 (B4XMainPage)
java.lang.UnsupportedOperationException: addView(View, LayoutParams) is not supported in AdapterView
    at android.widget.AdapterView.addView(AdapterView.java:706)
    at anywheresoftware.b4a.objects.PanelWrapper.AddView(PanelWrapper.java:65)
    at anywheresoftware.b4a.objects.B4XViewWrapper.AddView(B4XViewWrapper.java:326)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at anywheresoftware.b4a.shell.Shell.runVoidMethod(Shell.java:777)
    at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:354)
    at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:255)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at anywheresoftware.b4a.ShellBA.raiseEvent2(ShellBA.java:157)
    at anywheresoftware.b4a.BA$2.run(BA.java:395)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:145)
    at android.app.ActivityThread.main(ActivityThread.java:6134)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
*** Service (starter) Create ***
** Service (starter) Start **
** Activity (main) Create (first time) **
Call B4XPages.GetManager.LogEvents = True to enable logging B4XPages events.
** Activity (main) Resume **
Error occurred on line: 91 (B4XMainPage)
java.lang.UnsupportedOperationException: addView(View, LayoutParams) is not supported in AdapterView
    at android.widget.AdapterView.addView(AdapterView.java:706)
    at anywheresoftware.b4a.objects.PanelWrapper.AddView(PanelWrapper.java:65)
    at anywheresoftware.b4a.objects.B4XViewWrapper.AddView(B4XViewWrapper.java:326)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at anywheresoftware.b4a.shell.Shell.runVoidMethod(Shell.java:777)
    at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:354)
    at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:255)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at anywheresoftware.b4a.ShellBA.raiseEvent2(ShellBA.java:157)
    at anywheresoftware.b4a.BA$2.run(BA.java:395)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:145)
    at android.app.ActivityThread.main(ActivityThread.java:6134)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
*** Service (starter) Create ***
** Service (starter) Start **
** Activity (main) Create (first time) **
Call B4XPages.GetManager.LogEvents = True to enable logging B4XPages events.
** Activity (main) Resume **
** Activity (main) Pause event (activity is not paused). **
*** Service (starter) Create ***
** Service (starter) Start **
** Activity (main) Create (first time) **
Call B4XPages.GetManager.LogEvents = True to enable logging B4XPages events.
** Activity (main) Resume **
** Activity (main) Pause event (activity is not paused). **
*** Service (starter) Create ***
** Service (starter) Start **
** Activity (main) Create (first time) **
Call B4XPages.GetManager.LogEvents = True to enable logging B4XPages events.
** Activity (main) Resume **
 

Star-Dust

Expert
Licensed User
Longtime User
A parte l'errore che ha segnalato LucaMs sull'inizializzazione di Serv (Il nome non coincide con il pakedArrived), stai anche gestendo Listview in maniera sbagliata

Partiamo da fatto che listview di b4a e b4j non sono uguali, non hanno gli stessi metodi. Poi se lo hai inserito da design non lo devi inizializzare da codice. Al contrario se inizializzi da codice devi aggiungerlo nel pannello di base.

Adesso non ho tempo che anche oggi lavoro che è un periodaccio, ma se riesco nel pomeriggio ti faccio un esempio, se qualcun'altro non riesce ad aiutarti prima
 
Last edited:

Star-Dust

Expert
Licensed User
Longtime User
L'esempio promesso. Da raffinare ma funziona
 

Attachments

  • SenderNoServer.zip
    15.5 KB · Views: 53

ivanomonti

Expert
Licensed User
Longtime User
@Star-Dust UDPSocket ha un limite "Message longer than Log limit (4000). Message was truncated." poi tronca, si può avere un limite diverso o è un limite strutturale?

frase inviata di risposta "Leonardo da Vinci, conosciuto probabilmente come uno dei più grandi geni italiani, è nato il 15 aprile del 1452 ad Archiano di Vinci. Nel 1469 si è trasferito con il padre a Firenze, dove è diventato allievo del Verrocchio. Leonardo è cresciuto artisticamente in un ambiente dove si insegnava a concepire la figura umana, scolpita o dipinta, non immobile ma inserita nello spazio. Non si è limitato ad operare nel campo artistico ma ha spaziato in quasi tutti i campi dello scibile umano. Ha passato gli ultimi periodi della sua vita in Francia, dove ha portato alcuni quadri dipinti in Italia, tra cui la Gioconda. E' morto ad Amboise il 2 maggio del 1519."

frase troncata "Leonardo da Vinci, conosciuto probabilmente come uno dei più grandi geni italiani, è nato il 15 aprile del 1452 ad Archiano di Vinci. Nel 1469"
 

LucaMs

Expert
Licensed User
Longtime User
@Star-Dust UDPSocket ha un limite "Message longer than Log limit (4000). Message was truncated." poi tronca, si può avere un limite diverso o è un limite strutturale?
Quello è solo il limite del Tab Logs. Per essere chiari, se hai una variabile String con testo di 6000 caratteri e ne fai il log, nella finestra potrai vederne solo 4000, ma la vera lunghezza rimarrà quella.
 

LucaMs

Expert
Licensed User
Longtime User
frase inviata di risposta "Leonardo da Vinci, conosciuto probabilmente come uno dei più grandi geni italiani, è nato il 15 aprile del 1452 ad Archiano di Vinci. Nel 1469 si è trasferito con il padre a Firenze, dove è diventato allievo del Verrocchio. Leonardo è cresciuto artisticamente in un ambiente dove si insegnava a concepire la figura umana, scolpita o dipinta, non immobile ma inserita nello spazio. Non si è limitato ad operare nel campo artistico ma ha spaziato in quasi tutti i campi dello scibile umano. Ha passato gli ultimi periodi della sua vita in Francia, dove ha portato alcuni quadri dipinti in Italia, tra cui la Gioconda. E' morto ad Amboise il 2 maggio del 1519."

frase troncata "Leonardo da Vinci, conosciuto probabilmente come uno dei più grandi geni italiani, è nato il 15 aprile del 1452 ad Archiano di Vinci. Nel 1469"
Devi aver fatto il log di qualcos'altro, visto che quella frase è lunga solo 663 caratteri.

Fai click sulla freccia che sta sulla sinistra del log; in questo modo il cursore dell'editor verrà portato sulla riga di codice che ha generato il log.
 

ivanomonti

Expert
Licensed User
Longtime User
Devi aver fatto il log di qualcos'altro, visto che quella frase è lunga solo 663 caratteri.

Fai click sulla freccia che sta sulla sinistra del log; in questo modo il cursore dell'editor verrà portato sulla riga di codice che ha generato il log.
Risposta android:
Logger connesso a:  samsung SM-T530
--------- beginning of main
Copying updated assets files (1)
*** Service (starter) Create ***
** Service (starter) Start **
** Activity (main) Create (first time) **
Call B4XPages.GetManager.LogEvents = True to enable logging B4XPages events.
** Activity (main) Resume **
Leonardo da vinci chi eraÝ192.168.1.143ÝAllÝAda
��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
Message longer than Log limit (4000). Message was truncated.
 

ivanomonti

Expert
Licensed User
Longtime User
Eh, non ci sono i soli caratteri stampabili, a differenza di come avevi scritto qui

Cmq, il punto è che quel messaggio:

si riferisce SOLTANTO al fatto che i log nell'IDE non mostrano più di 4000 caratteri. Quindi niente a che vedere con eventuali errori nel progetto.
HO RISOLTO UTILIZZANDO IL TUO CONSIGLIO CON LA CLV :-(

con la clv passo la label e scrive tutto in modo corretto (devo darti più ascolto) ma il problema e che vorrei ora che il messaggio che arriva non vada in fondo ma che sia sempre nella prima riga della clw, quindi un caricamento rovesciato senza dover sempre riscrivere la clw per ordinamento

spero di essermi spiegato
 

ivanomonti

Expert
Licensed User
Longtime User
mi sorge una domanda, ma UDP se arrivano 10 richieste simultanee come si comporta, le mette in coda o risponde alla cazzo?
 

Sagenut

Expert
Licensed User
Longtime User
HO RISOLTO UTILIZZANDO IL TUO CONSIGLIO CON LA CLV :-(

con la clv passo la label e scrive tutto in modo corretto (devo darti più ascolto) ma il problema e che vorrei ora che il messaggio che arriva non vada in fondo ma che sia sempre nella prima riga della clw, quindi un caricamento rovesciato senza dover sempre riscrivere la clw per ordinamento

spero di essermi spiegato
Puoi vedere questa
https://www.b4x.com/android/forum/t...for-lists-that-grow-backwards.126444/#content
o forse caricare il nuovo item nella tua con
B4X:
CLV.InsertAt
 

ivanomonti

Expert
Licensed User
Longtime User
@Sagenut grazie poi la provo, ora devo sistemare alcuni dubbi che tutto sommato tutto il resto funziona benissimo, ma ho sempre dubbi.

1) quando lancio una richiesta al quello che definisco il server (b4j) a volte non risponde e senza risposta il bottone send su client (b4a) rimane in enabled=false (questo per evitare che si inviano più richieste anche vuote al server.
2) UPD mette in coda o ...?
3) quante utenze su un server UDP?
4) possibile usare un ip pubblico UDP dove si esce dalla rete internat e si passa alla rete esterna?

per il resto sembra andare tutto ok
 
Top