Bonjour,
Depuis que Lazarus fonctionne "nativement" sur mes Macs (notamment au niveau du Debug), je l'ai ressorti de mes cartons.
je rencontre à nouveau un problème que j'avais évoqué, il y a quelques temps (comme "Invité").
Cela concerne une dbGrid corrigée.
En réalité 2 problèmes :
Premier problème : j'utilise Unidac. J'incorpore le paquet nécessaire dans le composant. Mais si le paquet n'est pas installé, au lieu d'un UniSQLquery, j'utilise un SQLquery natif. Pour l'instant les ressources du composant sont celles-ci :
- Y a-t-il un moyen de rendre le paquet dclunidac10 "facultatif" donc de vérifier lors de l'installation du paquet si Unidac est installé ?
- Y a-t-il un moyen dans le code du composant de savoir si le DataSource.Dataset de la dbGrid posée sur la Form est un UniQuery ou un SQLQuery natif ?
Le point 2 du premier problème pourrait être facilement contourné s'il y avait une méthode élégante (i.e. simple et pratique) de résoudre la question, que j'avais anciennement posée, peut-on créer un code générique. Dans ce cas précis je crois que non. Exemple de ligne posant problème :
FSortedColumnName := TUNIQuery(DataSource.DataSet).IndexFieldNames;
vs
FSortedColumnName := TSQLQuery(DataSource.DataSet).IndexFieldNames;
A savoir que la réponse de Philippe est efficace mais nécessiterait dans mon cas une multitude de "function ....; overload;.
Merci. Cordialement. Gilles
Partager