19/05/2023: A causa di un errore sono stati cancellati, insieme ad account creati da bot, alcuni account legittimi. Si prega di leggere qui: https://www.gambas-it.org/smf/index.php?topic=9733.0
myZone, ho ricevuto un blocco di questo tipo (con segnale 6 o 11), ancora non so se è colpa del mio codice o di G3, provo anche G2 oggi.La routine su cui si verifica l'errore è semplice, quando clicco all'interno di una list-box e riporto i dati su vari textbox. G2 sulla stesso codice non da' errore.
E' possibile vedere il pezzo di codice che ti genera l'errore? vorrei fare qualche prova...
dim mycon as new connectiondim myres as resultwith myconn....end with'ricerco il record a partire dal campo testo dell'alimento nel combo'combo già popolato precedentementemyres=myconn.exec("select * from ...where alimento=&1", combobox.text)'attribuisco i valori della tabellatxtC.text=myres!C....myconn.close
Catch Message.Error(Error.Where & " \n" & Error.Text, "ok")
la struttura di segnalazioni errori di g3 è ancora traballante, è probabile che ci sia un errore nel codice, dovresti provare a lanciare l' applicazione come eseguibile e vedere come si comporta, se è un errore di codice di apparirà il relativo messaggio, se è un problema di g3 crasherà,prova inoltre a mettere un istruzione catch in fondo al codice con il problema così magari hai una segnalazione migliore Codice: [Seleziona] Catch Message.Error(Error.Where & " \n" & Error.Text, "ok")io sto lavorando molto con g3 (sto scrivendo la nuova versione di gesthotel) e a parte questi problemi nel debug dell' ide direi che è stabile e affidabile quanto g2
Public Sub lstALIMENTI_Click() Dim myconn As New Connection Dim myset As Result With myconn .Name = "/home/andy/Gambas3/myZone/data/myZone.db" .Type = "sqlite3" .Open End With myset = myconn.Exec("select * from tbMiniblocchi where ALIMENTO=&1", lstALIMENTI.Text) mLibs.AlimentoSelezionato = myset!ID mLibs.GrammiAlimentoSelezionato = myset!GRAMMI txtP.text = myset!P txtC.text = myset!C txtG.Text = myset!G txtGRAMMI.text = myset!GRAMMI txtGiudizio.text = myset!SCELTA txtALIMENTO.text = myset!ALIMENTO Catch Message.Error(Error.Where & " \n" & Error.Text, "ok") myconn.Close End
If Not IsNull(myset!P) Then txtP.Text = myset!PElse txtP.Text = ""EndIf
myset = myconn.Exec("select * from tbMiniblocchi where ALIMENTO=&1", lstALIMENTI.Text)if myset.availabe then mLibs.AlimentoSelezionato = myset!ID mLibs.GrammiAlimentoSelezionato = myset!GRAMMI txtP.text = myset!Pecc ecc ecc
dovresti anche controllare che il result è pieno prima di utilizzarlo per riempire delle variabiliCodice: gambas [Seleziona]myset = myconn.Exec("select * from tbMiniblocchi where ALIMENTO=&1", lstALIMENTI.Text)if myset.availabe then mLibs.AlimentoSelezionato = myset!ID mLibs.GrammiAlimentoSelezionato = myset!GRAMMI txtP.text = myset!Pecc ecc eccnon ho mai utilizzato myconn.exec passadogli dei parametri oltre alla query di ricerca, sei sicuro che questa riga sia corretta?myset = myconn.Exec("select * from tbMiniblocchi where ALIMENTO=&1", lstALIMENTI.Text)hai provato ad avviare il programma tramite eseguibile?
myset = myconn.Exec("select * from tbMiniblocchi where ALIMENTO=' " & lstALIMENTI.Text & " ')"
a svuotarlo ci pensa gambasse è "pieno" o meglio se non è nullo o vuoto sarà availabe e quindi utilizzabile (count >0) se invece è vuoto(count=0 oppure result=NULL) cercare di utilizzarlo per dare un valore a una variabile genera errore