Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[Composant] Classes et fn d'accès SGBD

8 réponses
Avatar
Roumegou
Bonjour,

je voulais regrouper toutes mes classes d'accès natifs SGBD et
fonctions de gestions SQL dans un composant pour eviter de les avoir
plusieurs fois dans mes projets et d'éviter les pb de versions.
Hélas, pour les accès natifs PCSOFT, la connexion au sgbd n'est active
que dans le composant qui l'a ouvert ou les composants directement
appelés par ce dernier.

J'ais fait donc marche arrière et j'importe classes et procédures
fonctions globales dans tous mes projets; mais en partageant les
fichiers sources entre projets.
Ensuite lors de la génération des composants, je les integre mais ne
les rend pas accessibles; si bien que je ne les ais pas en plusieurs
fois dans un projet avec des composants.

Bien que moins séduisante que la solution du composant SQL; cela semble
fonctionner pour le moment.
En espèrant que je ne vais pas découvrir d'autres problèmes ...

--
Eric Roumegou
http://cerbermail.com/?TSoulBerPA
(cliquez sur le lien ci-dessus pour me contacter en privé)

8 réponses

Avatar
Manu
question à 2 francs, as tu dis au composant qu'il devait utiliser les
variables du projet et non les siennes ....

Je me souviens de çà en ayant lu une lst...

on peut dire au composant d'utiliser des variables du projet..

Je dis cela de tete, pardonnez moi si j'ai dit une betise.

--
Emmanuel

Roumegou wrote:
Bonjour,

je voulais regrouper toutes mes classes d'accès natifs SGBD et
fonctions de gestions SQL dans un composant pour eviter de les avoir
plusieurs fois dans mes projets et d'éviter les pb de versions.
Hélas, pour les accès natifs PCSOFT, la connexion au sgbd n'est active
que dans le composant qui l'a ouvert ou les composants directement
appelés par ce dernier.

J'ais fait donc marche arrière et j'importe classes et procédures
fonctions globales dans tous mes projets; mais en partageant les
fichiers sources entre projets.
Ensuite lors de la génération des composants, je les integre mais ne
les rend pas accessibles; si bien que je ne les ais pas en plusieurs
fois dans un projet avec des composants.

Bien que moins séduisante que la solution du composant SQL; cela
semble fonctionner pour le moment.
En espèrant que je ne vais pas découvrir d'autres problèmes ...


Avatar
Roumegou
Manu a écrit :
question à 2 francs, as tu dis au composant qu'il devait utiliser les
variables du projet et non les siennes ....



Ben, je vois pas où cela peut se définir.
C'est effectivement un pb car il te faut initialiser (ré-initailiser)
tes variables globales pour ton composant par une fonction.


Je me souviens de çà en ayant lu une lst...

on peut dire au composant d'utiliser des variables du projet..

Je dis cela de tete, pardonnez moi si j'ai dit une betise.

--
Emmanuel




--
Eric Roumegou
http://cerbermail.com/?TSoulBerPA
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Manu
Roumegou wrote:
Manu a écrit :
question à 2 francs, as tu dis au composant qu'il devait utiliser les
variables du projet et non les siennes ....



Ben, je vois pas où cela peut se définir.
C'est effectivement un pb car il te faut initialiser (ré-initailiser)
tes variables globales pour ton composant par une fonction.



dans la création du composant. et en écrivant cela je dirais donc c'est le
composant qui utilise les variables du projets maitre
Avatar
Roumegou
Il se trouve que Manu a formulé :
Roumegou wrote:
Manu a écrit :
question à 2 francs, as tu dis au composant qu'il devait utiliser les
variables du projet et non les siennes ....



Ben, je vois pas où cela peut se définir.
C'est effectivement un pb car il te faut initialiser (ré-initailiser)
tes variables globales pour ton composant par une fonction.



dans la création du composant. et en écrivant cela je dirais donc c'est le
composant qui utilise les variables du projets maitre



Quand tu crées le composant, tu n'as pas ce genre de spécifications.
Et si tu as des variables globales (ex gBase, gServeur dans mon cas)
dont tu as besoin et que tu as défini en variables globales dans le
projet de ton composant; quand tu appelles ton composant, ces variables
ne sont pas initialisées.
Donc la seule chose que j'ai trouvé est d'appeler un fn du composant
qui initie ces variables.

Mais il y a peut être mieux ?

--
Eric Roumegou
http://cerbermail.com/?TSoulBerPA
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Roumegou
Roumegou a formulé la demande :
Il se trouve que Manu a formulé :
Roumegou wrote:
Manu a écrit :
question à 2 francs, as tu dis au composant qu'il devait utiliser les
variables du projet et non les siennes ....



Ben, je vois pas où cela peut se définir.
C'est effectivement un pb car il te faut initialiser (ré-initailiser)
tes variables globales pour ton composant par une fonction.



dans la création du composant. et en écrivant cela je dirais donc c'est le
composant qui utilise les variables du projets maitre



Quand tu crées le composant, tu n'as pas ce genre de spécifications.
Et si tu as des variables globales (ex gBase, gServeur dans mon cas) dont tu
as besoin et que tu as défini en variables globales dans le projet de ton
composant; quand tu appelles ton composant, ces variables ne sont pas
initialisées.



Autant pour moi, dans le bouton Option, il y a une notion de contexte.
Argh ! je venais de tout réorganiser. Il faut encore que je teste cela.


Donc la seule chose que j'ai trouvé est d'appeler un fn du composant qui
initie ces variables.

Mais il y a peut être mieux ?



--
Eric Roumegou
http://cerbermail.com/?TSoulBerPA
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Roumegou
MEA MAXIMA CULPA.

Ce n'est pas windev qui est limité sur les composants, c'est moi ;(

Quand on génère les composants et que l'on va dans Option, on peut
partager le contexte aux composant.

Avec ceci, la connexion SGBD est partagée et il n'y a pas besoin de
réinitialiser les variables globales.

Donc la bonne nouvelle, c'est comme j'en avais rêvé.
La mauvaise, c'est que je suis obligé de tout recommencer.

Au boulot.

pas de match pour toi ce soir (non j'déconne ;-) )

--
Eric Roumegou
http://cerbermail.com/?TSoulBerPA
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
elecoest
> MEA MAXIMA CULPA.
Ce n'est pas windev qui est limité sur les composants, c'est moi ;(



on le savait déjà un peu...

Quand on génère les composants et que l'on va dans Option, on peut
partager le contexte aux composant.



<JOKE>
merci qui ? vous voyez çà sert les LST !
</JOKE>

Avec ceci, la connexion SGBD est partagée et il n'y a pas besoin de
réinitialiser les variables globales.

Donc la bonne nouvelle, c'est comme j'en avais rêvé.



Ouf

La mauvaise, c'est que je suis obligé de tout recommencer.



Mieux vaut çà quand même pour avoir du code propre.

Au boulot.

pas de match pour toi ce soir (non j'déconne ;-) )



difficile choix avec les filles de charly, mais bon, au moins avec le foot
on peut développer pendant :-D

--
Manu
Avatar
Roumegou
elecoest a présenté l'énoncé suivant :
MEA MAXIMA CULPA.
Ce n'est pas windev qui est limité sur les composants, c'est moi ;(



on le savait déjà un peu...



C'est pas bô de se moquer

La mauvaise, c'est que je suis obligé de tout recommencer.



Mieux vaut çà quand même pour avoir du code propre.



Oui mais après plusieurs essais, j'abandonne.
En fait, dès que l'on a des composants imbriqués, alors que cela
devrait marcher, ça plante et sans message ni rien.
Impossible de savoir ce qui se passe.
Quand à revenir en arrière, je viens de constater qu'il fallait mieux
supprimer carrément un composant et le regénérer; certaines options ne
me semble pas se màj facilement.

J'en reste à la première méthode. Je partage les sources des classes et
ne les rend pas accessibles dans les composants.


Au boulot.
pas de match pour toi ce soir (non j'déconne ;-) )



difficile choix avec les filles de charly, mais bon, au moins avec le foot
on peut développer pendant :-D



Peux pas, j'ai pas de prise réseau à côté de la TV.
Et puis avec l'intensité du match de ce soir, dèjà que je fais des
conneries en ce moment, ce n'était pas la peine.

--
Eric Roumegou
http://cerbermail.com/?TSoulBerPA
(cliquez sur le lien ci-dessus pour me contacter en privé)