Bonjour,
Je suis en train de faire différents essais pour mes nouveaux interfaces utilisateurs et depuis 2 jours je tombe sur un os que je n'arrive pas à contourner.
Soit un programme basique contenant un datamodule et une forme. Le datamodule contient un TFDConnexion, TFDQuery, TFDGUIxWaitCursor et un TFDPhysxxxDriverLink (xxx = FB dans mon cas)
la forme : une simple listview et un label , donc pas de quoi fouetter un chat
Je procède donc à la liaison de ces composants avec les données : un petit coup de lier visuellement, liaison du premier champ avec la propriété text, du second avec détail << Nickel , query ouverte, mes champs s'affichent dans la liste.
Reste maintenant à lier le label de façon à ce que l'item sélectionné dans la liste s'y inscrive, pour cela , une liaison avec le champ ne suffit pas, il faut aussi que je synchronise avec le BindSource.
Exécution en mode debug : Ok , fonctionnel
Retour dans l'IDE et j'obtiens régulièrement des messagesArgument hors limite
Qu'à cela ne tienne me dis-je, je vais mettre la query dans la forme (bien que cela ne me plaise que moyennement) . Sitôt pensé sitôt fait, je détruit le BindSource, le BindingsList, pose mon TFDQuery, le lie à Datamodule.FDConnexion , refait les liens indiqués plus haut et plus d'"Argument hors limite".
de nouveau après ouverture de la query , les données s'affichent, le programme "fonctionne"
Mais maintenant j'ai un autre message d'avertissement qui m'indique
j'ai tenté : le déplacement de la déclaration du datamodule dans les uses (mis au début de la liste) , modifié l'ordre des liaisons (j'ai remarqué que cela peut jouer) rien n'y fait.
à priori dans le cas le premier cas de figure, tout vient de la synchronisation
Questions : est-ce mon IDE qui est mal configuré ? mes chemins de recherche ?
Quelqu'un peut-il tenter la même chose pour confirmer ?
Partager