Bonjour,
Pour faire suite à un autre post je teste la déclaration de composant sqlite3 hors d'un datamodule.
Pour cela je crée une forme principale Fappli et 2 forme Form1 et Form2.
Sur la forme principale je déclare des composants TSqlite3Dataset et TDataSource avec pour seule déclaration le Name et la table en liée pour le DataSource.
Dans la fiche principale je crée une séquence de déclaration et d'ouverture des tables comme ci-dessous
1 2 3
| const
MREP_TABLE='/home/j/Bureau/laz-linux/essai-appli/tables/';
MBASE='LCL.sdb'; |
1 2 3 4 5 6
| bank.FileName:=MREP_TABLE+MBASE;
bank.PrimaryKey:='K_BANK';
bank.TableName:='BANK';
bank.SQL:='Select * from bank';
bank.Active:=True;
bank.ExecSQL; |
Dans Form1 je déclare un DBGrid avec un bouton donnant normalement la valeur choisie au DataSource ainsi
DBGrid.DataSource:=Fappli.Sbank;
Valeur que je trouve si je cherche via l'inspecteur, mais à la compilation j'ai un message d'erreur comme quoi il ne trouve pas Fappli.
Naturellement si je déclare dans les uses Fappli il m'annonce un problème de déclaration circulaire, normal Form 1 est déclarée dans Fappli.
Si je refais la même opération dans Fappli
DBGrid1.DataSource:=Sbank;
Pas de problème.
Effectuant le même genre de manipulation avec du datamodule avec déclaration de son accès dans chaqe form je n'ai pas de problème.
Où est mon erreur ?
Merci d'avance
Partager