Italian Wait For

moore_it

Well-Known Member
Licensed User
Longtime User
L'idea è questa, le tabelle sono 2, come fare per non leggere tutte e due ogni volta che mi server (ogni minuto), quando carico le tabelle metto l'array di oggetti creato in una lista (ACTIVITIES) che è poi dove faccio le mie scelte
 

Star-Dust

Expert
Licensed User
Longtime User
Prova cosi per verificare che tutte le liste o() abbiano il numero degli elementi che ti aspetti
B4X:
Sub RunActivity(o() As Object) As ResumableSub
    log("Numero colonne" & o.Length)
    ''''''
End Sub
 

moore_it

Well-Known Member
Licensed User
Longtime User
Waiting for debugger to connect...
Numero colonne33
InsertMaps (first query out of 1): INSERT INTO [Logs] ([k01], [k02], [k03], [l01], [l02], [l03], [l04]) VALUES (?, ?, ?, ?, ?, ?, ?)
Numero colonne33
InsertMaps (first query out of 1): INSERT INTO [Logs] ([k01], [k02], [k03], [l01], [l02], [l03], [l04]) VALUES (?, ?, ?, ?, ?, ?, ?)
InsertMaps (first query out of 1): INSERT INTO [Logs] ([k01], [k02], [k03], [l01], [l02], [l03], [l04]) VALUES (?, ?, ?, ?, ?, ?, ?)
Errore nella linea: 541 (Main)
java.lang.IndexOutOfBoundsException: Index 2 out of bounds for length 0
at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:248)
at java.base/java.util.Objects.checkIndex(Objects.java:372)
at java.base/java.util.ArrayList.get(ArrayList.java:458)
at anywheresoftware.b4a.objects.collections.List.Get(List.java:105)
at b4j.example.main$ResumableSub_ReadActivities.resume(main.java:1733)
at anywheresoftware.b4a.shell.DebugResumableSub$DelegatableResumableSub.resumeAsUserSub(DebugResumableSub.java:47)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at anywheresoftware.b4a.shell.Shell.runMethod(Shell.java:632)
at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:234)
at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:167)
at jdk.internal.reflect.GeneratedMethodAccessor11.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:91)
at anywheresoftware.b4a.shell.ShellBA.raiseEvent2(ShellBA.java:98)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:78)
at anywheresoftware.b4a.shell.DebugResumableSub$DelegatableResumableSub.resume(DebugResumableSub.java:42)
at anywheresoftware.b4a.BA.checkAndRunWaitForEvent(BA.java:136)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:85)
at anywheresoftware.b4a.shell.ShellBA.raiseEvent2(ShellBA.java:98)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:78)
at anywheresoftware.b4a.keywords.Common$3.run(Common.java:1086)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
at java.base/java.lang.Thread.run(Thread.java:834)
 

Star-Dust

Expert
Licensed User
Longtime User
E' troppo complesso il codice per poterlo capire. Mi sembra un pochino contorto
Comunque non ho visto dove richiami RunActivity()
 

moore_it

Well-Known Member
Licensed User
Longtime User
Sì in effetti ci sto impazzendo, devo fare una serie di attività (tipo zippare il file se serve) inviarlo e poi storicizzalo in una cartella che riporti il codice cliente e all'interno un'altra cartella che riporti il tipo file.
Ho cercato di renderlo il più semplice possibile runactivity eccolo,

B4X:
Private Sub ReadActivities
	For Each row() As Object In RUNACTIVITIES	
		Dim cb As CheckBox = row(0) 
		If cb.Checked = True Then
			wait for (RunActivity(row)) Complete (terminata As Boolean)
		End If
	Next
End Sub
 

moore_it

Well-Known Member
Licensed User
Longtime User
un'idiozia, ogni secondo vado a leggere lo stato della coda ma solo ogni minuto lancio le attività, io lanciando ogni secondo le attività andavo a cancellare la coda della selezioni e quindi GIUSTAMENTE il programma si incazzava di brutto ... spero di essermi spiegato !

cmq ora gira tutto a dovere, vi ringrazio di cuore !
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…