All'inizio di quest'anno avevo provato ad installare Manjaro e d ho cominciato a provare Lazarus, ma ho avuto subito difficoltà ed ho rinunziato.
Ora che vivo una situazione di programmazione ... più tranquilla, ho ripreso l'ambiente Manjaro, perchè vorrei conoscerlo meglio. Ho installato Lazarus da linea di comando e sono riuscito ad avviare il mio programma ContabFam.
L'avvio è avvenuto bene, ma dopo la conferma del file di database su cui lavorare, è stato prodotto il seguente Errore:
Requested database was not found
.
Premetto che mai , prima di oggi, ho incontrato un messaggio del genere. nTuttavia ho controllato il percorso indicato nel programma e quello effettivo nell'albero delle directory. Corrispondono perfettamente:
Percorso indicato nel programma:
dbProve:= '/media/dirdati/dativari/contabfam/ContabFamdb_prove'; // )
dbCorr:= dbProve; // Riga da DISATTIVARE soltanto a fine pro
Percorso effettiuvo:
ls /media/dirdati/dativari/contabfam/ContabFam* ✔
/media/dirdati/dativari/contabfam/ContabFamdb
/media/dirdati/dativari/contabfam/ContabFamdb_prove
Ho segnalato l'Errore nel Forum di Manjaro, ma ho voluto darvi notizia di questa nuova disavventura.
Che database è ?
L'estensione del file è corretta (se è implicita prova comunque ad esplicitarla nel nome file che passi)?
Hai verificato che i driver (.so o altro) necessari per il database ci siano e siano allineati (tipo versione 2 di DB e versione 2 di driver) ?
Forse sono stato troppo precipitoso. L'anomalia non nasce all'interno del codice. Esso è quello di sempre.
L'istruzione alla quale nasce l'anomalia è questa:
DataModule1.ZConnection1.Connected:= True;
Istruzione provata e riprovata sia in Ubuntu che in LinuxMint. Ritengo piuttosto che ci sia un problema di componente di Zeos non installato. ma in compilazione non ho ricevuto nessun messaggio di Errore.
Ho guardato la finestra dell'Analizzatore, ma non riesco a capire se manca qualcosa. L'allego
Che database è ?
L'estensione del file è corretta (se è implicita prova comunque ad esplicitarla nel nome file che passi)?
Hai verificato che i driver (.so o altro) necessari per il database ci siano e siano allineati (tipo versione 2 di DB e versione 2 di driver) ?
Può darsi che non capisca cosa vuoi dire. Cerco di darti le notizie che desideri:
1) Il file è un database SQLite3
2) estensione implicita/esplicita ???
petrus@petrus-System-Product-Name:/media/dirdati/dativari/bkp_dati$ ls /media/dirdati/dativari/contabfam/ContabFamdb*
/media/dirdati/dativari/contabfam/ContabFamdb
'/media/dirdati/dativari/contabfam/ContabFamdb(copia)'
/media/dirdati/dativari/contabfam/ContabFamdb_prove
Quello su cui lavoro durante la prova del programma è "/media/dirdati/dativari/contabfam/ContabFamdb_prove"
"
3) i driver ,so/altro **?**: Mi dispiace, ma non so risponderti.
Ti avrò deluso, ma purtroppo non sono in grado di dirti più di quanto non abbia già detto. :-\
. . .
Quindi in ZEOS, usa il nome file completo di estensione (se il file c'è l'ha ovviamente).
All'interno delle prorpietà dei componentiZeos non ho mai riportato il nome del dataset. Quello l'ho sempre indicato nella procedura TForm1.FormCreate del programma e l'ho creato senza estensioni.
dbOrig:= '/media/dirdati/dativari/contabfam/ContabFamdb';
dbProve:= '/media/dirdati/dativari/contabfam/ContabFamdb_prove';
Poi in ZEOS la proprietà "protocol" che identifica che tipologia di DB si intende usare è stata modificata per SQLite:
nella versione 8 è "sqlite", mentre prima era "sqlite-3" se non sbaglio.
Va cambiato nel sorgente (nelle proprietà del componente ZConnection a DESIGNTIME oppure a RUNTIME nell'istanza dello stesso) tale valore nei nuovi progetti.
Questo non lo sapevo.
L'ho modificato (la proprietà protocol mi fornisce, per il mio tipo di database, solo la scelta sqlite ed ora il programma non da più quell'Errore di prima.
Ora prosegue bene. Ci sono altre anomalie, ma rientrano nell'attività di programmazione ordinaria.
Grazie, mi avete fatto un bel regalo di Natale. ;D