Je cherche à créer une unité avec une classe s'occupant de tout ce qui concerne le SQL, que je puisse réutiliser. Je suis parti d'une unité conçu pour un autre projet sous windows et qui fonctionne bien.
Mais sous Linux (Mint) une exception est levé à la création de la connexion, que ce soit par un TSQLite3Connection ou un TSQLConnector.
Par contre si j'utilise les mêmes composants (dont les TSQLTransition et TSQLQuery) ajouté à la conception sur le formulaire, là tout fonctionne bien.
Donc j'ai une solution pour ce projet mais non satisfaisante puisque l'unité et la classe ne sont pas utilisables et surtout parce que ce comportement est incompréhensible.
Je ne trouve aucun doc expliquant cela.
Voici le code, ça plante dès la première ligne du with (cSQL est ma classe).
Config :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 cSQL.Create(); with cSQL do begin conn:=TSQLConnector.Create(nil); conn.ConnectorType:='SQLite3'; Conn.DatabaseName:='db.sqlite'; Conn.Transaction := TSQLTransaction.Create(Connexion); Requete:=TSQLQuery.Create(nil); Requete.PacketRecords:=200; Requete.DataBase:=Conn; Requete.Transaction:=Conn.Transaction; Conn.Open; end;
− Lazarus 1.6+dfsg-1 FPC 3.0.0
− Linux Mint (Sylvia il me semble).
Merci.
Partager