problemi con Append()
Posted: Fri Sep 22, 2023 5:34 am
Ho una finestra che immette i dati in una DataBrowser.
In VO funziona tutto bene: il problema si presenta solo in #X.
Ecco la porzione di codice che genera l'errore.
Cosa potrebbe essere la causa?
Grazie!
Quando registro i dati la procedura inserisce il nuovo record che viene visualizzato nella DataBrowser. La finestra di edit rimane attiva per i successivi inserimenti. Già al secondo inserimento il programma si arresta a lungo dopo il comando append() che non viene eseguito e, quindi dopo un'attesa di decine di secondi, sovrascrive l'ultimo record aggiunto.In VO funziona tutto bene: il problema si presenta solo in #X.
Ecco la porzione di codice che genera l'errore.
Code: Select all
IF self:lAggiungi // Append
InfoMsg("Append", self) // Messo per debug: il problema è dopo questo stop
self:oTabReg:Append() // FileLock è automatico durante l'operazione di Append
ELSE
self:oTabReg:GoTo(self:nRec) // siamo sicuri che è il record corretto..
ENDIF
IF self:oTabReg:RLOCK() // Blocco del record riuscito: REGISTRA i dati
self:oTabReg:T_Data := self:SLE0_Data
self:oTabReg:t_socio := ""
self:oTabReg:T_COLTURA := ""
self:oTabReg:T_CATEG := "20"
self:oTabReg:t_terz := self:cTerzista
self:oTabReg:T_DESCRI := self:SLE1_Des
self:oTabReg:T_Quant := self:nNewQ
self:oTabReg:t_rif := self:CBLTerzi
self:oTabReg:T_ANT := "N"
self:oTabReg:T_PREZZE := self:SLE3_Prezzo
self:oTabReg:T_IMPORTE := IEuro
self:oTabReg:T_QUAD := "ZZZZZ"
self:oTabReg:T_MAG := "GAIA"
self:oTabReg:T_SECONDI := PadL(int(Seconds() ), 5, "0") // Secondi dalla mezzanotte, per alcuni Index cronologico inserimento
self:oTabReg:Unlock()
self:oTabReg:Commit()
ELSE
InfoMsg("Server occupato: registrazione non effettuata.", self)
ENDIF
Grazie!