Buongiorno, accedendo ad alcune form contenete dei campi collegati a tabelle sqlite3 ricevo il messaggio in oggetto. ho provato a riassegnare la connection all'apertura delle tabelle ma il messaggio di errore c'è sempre. Le tabelle vengono prima chiuse, poi viene assegnato il database ed in ultimo vengono aperte con il seguente codice
--- Codice: ---
for i:= 0 to ComponentCount-1 do begin try if Components[I] is TZTable then begin try begin TTemp:= Components[I] as TZTable; if (TTemp.Name <> 'Esercizi') and (TTemp.Name <> 'Aziende') then begin Filename:= TTemp.Tablename; //informa('il file è :' + filename); TTemp.Active:=False; TTemp.Connection:=ZConnection1; TTemp.Active:=True; end else TTemp.Active:=True; end; except on E: Exception do begin Informa('Si è verificato un errore in una o più tabelle'#13#10+ 'in Apri Tabelle per ' + FileName); exit; end; end; end; except on E: Exception do begin Informa('Si è verificato un errore in una o più tabelle'#13#10+ 'in Apri Tabelle per ' + FileName+ ' è necessario riconvertire gli archivi'#13#10+ ' o scegliere un altro esercizio'#13#10+ 'Sarà attivato l''Esercizio di Esempio'); DataConta.Aziende.Active:=True; DataConta.Esercizi.Active:=True; exit; end; end; end;
--- Termina codice ---
bonmario:
Ciao, - per la connessione, usi i componenti standard, o altri tipo Zeos ? - l'errore, su quale specifica viene segnalato? - la connessione la crei tu a runtime, o è creata a designtime? - può essere che quel codice lo lanci dalla OnCreate, o cose del genere, quando l'oggetto che usi per la connessione non è ancora stato effettivamente creato?
Ciao, Mario
antoniog:
Ciao Bonmario, grazie per la risposta. Il programma è in fase di aggiornamento e riguarda la gestione di contabilità ordinaria multiaziendale, vengono memorizzati in un file di testo i dati per accedere all'archivio da aprire all'avvio o al cambio di esercizio o di azienda. Uso Zeos con sqlite3 e per quanto possibile le componenti visuali. Fortunatamente faccio il backup dei dati quasi giornalmente e dopo avere perso tre giorni alla ricerca di soluzioni per vari errori misteriosi comparsi ho provato a lanciare le varie copie salvate, l'ultima copia perfettamente funzionante è dell' 8 maggio. Dopo devo avere fatto qualcosa che ha danneggiato il sistema non nel codice da me scritto, che è rimasto lo stesso, ma da qualche parte altra parte. Impossibile da capire.