2 pièce(s) jointe(s)
[2.2.4] Zeos - ouverture de bases SQLite
Bonjour,
je viens de mettre à jour ma version de Lazarus 2.0 vers la dernière version en ligne 2.24 pour faire une correction mineure sur un logiciel de gestion d'une base de données associée à Zeos et Sqlite3 qui jusque là fonctionnait bien. Le passage à la version 2.24 se traduit par une impossibilité de créer ou d'ouvrir n'importe quelle base de donnée (même celles proposées comme exemple) au format db3 (Zeos Sqlite). Le débogueur me permet de récupérer une fenêtre de message :
Pièce jointe 632538
Suite à ce message j'ai tenté de renseigner dans le TZConnection de Zeos le chemin de la bibliothèque Sqlite3.dll et alors un second message d'erreur apparait me signifiant l'impossibilité de charger la bibliothèque :
Pièce jointe 632539
La version Lazarus chargée est en 64 bits. Faut-il, comme je crois me souvenir car il y a longtemps que je me suis pas penché dessus, recharger une version valable en 32 bits (Zeos et Lazarus) pour pouvoir reprendre la correction de mon logiciel. Je précise que la base de données créée n'a pas besoin d'être partagée et que donc l'utilisation du format géré Sqlite était plus facile à mettre œuvre. Si quelqu'un peut propser une solution avec Lazarus 2.24 ce serait l'idéal.
Merci pour une réponse à ma question.
R. O.
Toujours un problème avec SQlite -Zeos- Lazarus 2.24
Bonsoir,
Merci d'avoir répondu à ma question. J'ai désinstallé complétement Lazarus puis réinstallé en installant aussi le logiciel Laz...2.24 Cross-i386...- . Après compilation j'ai tenté le lancement du logiciel. La compilation s'effectue sans problème mais le lancement n'aboutit pas. et j'ai un message : "Exécution arrêtée avec le code de sortie - 1073741701 ($C000007B) ". J'ai essayé de me renseigner sur ce code sur internet et n'ai vu que des références à SVN .
Je me demande bien comment résoudre ce problème et regrette d'avoir mis à jour une version avec laquelle je n'avais pas de Problèmes.
1 pièce(s) jointe(s)
Toujours le même problème
Bonjour,
J'ai bien tenté de suivre vos recommandations mais, Dés la tentative d'imposer les 32 bits et i386 j'ai eu le message d'erreur suivant :Pièce jointe 632683. Je suis passé à la version 2.24 32 bits de Lazarus (récupérée sur internet) et, après installation j'ai toujours le même conflit Sqlite/Zeos qui se traduitt par une impossibilité d'ouverture des bases de donnée. La version de Zeos installée est celle du dépôt en ligne 7.2.14.
Je vais encore une fois désinstaller le plus proprement possible et réinstaller Lazarus en 32 bits en choisissant une version un peu plus ancienne, et en espérant que cela fonctionnera.
Cordialement
R.O.
1 pièce(s) jointe(s)
Youjours le même problème de localisation de la bibiothèque
Bonjour,
J'ai appliqué scrupuleusement vos recommandations et ai complètement désinstallé LAZARUS y compris la suppression du répertoire Lazarus qui se créait dans AppData/Local et ai réinstallé Lazarus y compris tous les composants de mon projet. Il compile sans aucun problème mais toujours aucune possibilité d'ouvrir une base. Je suis donc passé, comme le suggère "Jurrasic Pork" au test du projet "champignons" et là aussi un message d'erreur :
Pièce jointe 632738
ce qui démontre bien que j'ai un problème de reconnaissance des bibliothèques d'accès aux bases de données et certainement que Zeos n'est pas en cause puisque non utilisé dans le projet. J'ai choisi Continuer et un message similaire a été affiché pour Firebird
Je précise que j'ai installé Lazarus dans un répertoire C:/Lazarus . Comme il s'agit d'une version 64 bits peut-être doit-on l'installer d'une façon bien précise ?
Cordialement
R.O.
1 pièce(s) jointe(s)
Hélas -- Toujours ce même problème.
Bonsoir,
Je croyais être arrivé à une solution mais...
Sqlite3 était déjà dans le répertoire racine de mon projet lorsque la fenêtre de "création/chargement" d'une base s'ouvrait mais sans afficher la liste des bases ni charger réellement la base choisie. Pour être cohérent avec une installation en 64 bits de Lazarus, j'ai téléchargé et installé Squilte3 64 bits ( version du 28/12/2022 --2115 Ko). Le projet compile sans aucune erreur et affiche : " OS Win32 -cpu i386 ". sur l'exécution le message déjà vu : "L'application n'a pas réussi à démarrer - Code sortie 107341701" s'affiche. Autre indication -- a un moment de l'installation de certains composants du projet de base (projet1) à la réinstallation complète de Lazarus le message SVN is not in the path s'affiche mais cela n'empèche pas la compilation, la re-crétaion de l'eDI en mode normal et le redémarrage pour l'ajout de nouveaux composants. Pour information voici ce s'affiche l'inspecteur du projet :
Pièce jointe 632858.
1 pièce(s) jointe(s)
L'erreur se situe à l'ouverture d'une table
Bonjour,
J'ai placé un point d'arrêt au niveau de procédure d'ouverture de ma base de données. Tout se déroule normalement jusqu'à l'instruction d'ouverture de la première des tables de ma base (table qui existe et est convenablement remplie). Après un certain temps le massage suivant apparait : Pièce jointe 632937. Le code concerné est :
Code:
1 2 3 4 5 6 7 8
| procedure TF_Gene.BtB_OuvrBaseClick(Sender: TObject);
Var i, lenNom : Integer ;
Var Fichcsvcal : TextFile ;
Var ijk, posbar: integer;
Var ligncsv_i : String ; // ensemble d'une des lignes du fichier FichCSVcal
Var CheminFichcal, NomFichCal, champDatGreg, champDatRep : String ;
Var SQLInfoGene : String ;
begin |
l'exécution commence par la récupération d'un fichier CSV permettant la traduction automatique des dates du calendrier républicain en calendrier grégorien puis continue par l'ouveture d'une table contenant des informations (infogene) à rajouter à chacun des nouveaux enregistrements des tables principales. L'erreur se situe à la ligne 8 : ZQCree1.open
puis plus loin :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| ZC_Cree1.Connected := False ;
ZC_Cree1.Database := Dnombase ;
ZC_Cree1.Connected := True ;
SQLInfoGene := ' Select * From InfoGene' ;
ZQ_Cree1.Active := False;
ZQ_Cree1.SQL.Clear ;
ZQ_Cree1.SQL.Text := SQLInfoGene ;
ZQ_Cree1.Open ;
ZQ_Cree1.Last() ;
EditReleveur.Text := DB_NomRElev.Text ;
EditCote.Text := DB_CoteRegistre.Text ;
EditCommune.Text := DB_CommuneRegistre.Text ;
// FIN // accès à la table Info_Gene pour récupérer les données invariables
ShowMessage ('Base '+ NomBase0 + ' ouverte avec succès !') ;
M_saisies.enabled := True ;
M_Outils.enabled := True ;
Beep ;
Beep ;
Except
ShowMessage (' Il y a un problème, réésayez !') ;
End;
End; |
.
J'ai tenté de remplacer le SQlite3.dll de 2022 par une version plus ancienne dont la taille est de 607K et qui est celle qui fonctionne actuellment. Cela n'a rien changé. Peut-être la version actuelle en 64 bits de Lazarus n'apprécie pas d'avoir des dll en 32 bits ?
Enfin, difficile de se sortir de ce mauvais pas... et pourtant il doit bien avoir une solution.
Cordialement
R.O.