IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Variable Connexion en paramètre de composant interne


Sujet :

WinDev

  1. #1
    Membre actif
    Homme Profil pro
    Ingé Indus
    Inscrit en
    Juillet 2014
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingé Indus
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2014
    Messages : 107
    Points : 241
    Points
    241
    Par défaut Variable Connexion en paramètre de composant interne
    Bonjour à tous,

    J'ai un soucis étonnant,
    Je me suis fais un composant interne pour gérer des données (analyse propre au composant) et les accès, manipulation...
    ceci afin de profiter du partage et propagation des modif via le GDS.

    Afin de configurer mon composant, je souhaite lui passer en paramètre une "Connexion" pour mes différents cas d'utilisation.

    Pour cela, j'utilise:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    init_Projet ()
     
    gcnxLDB est une Connexion
    gcnxLDB..Serveur 		= pFichier_Ini.gsCnxLDBSrv 
    gcnxLDB..Utilisateur 	= pFichier_Ini.gsCnxLDBUser 
    gcnxLDB..MotDePasse 	= pFichier_Ini.gsCnxLDBPwd 
    gcnxLDB..BaseDeDonnées 	= pFichier_Ini.gsCnxLDBDB
    gcnxLDB..Provider = hAccèsHFClientServeur
     
    poLDB_Config.ChangeConnexion(gcnxLDB)
     
    // ====================
     
    poLDB_Config.ChangeConnexion(cnxNew est une Connexion)
     
    HChangeConnexion("*",cnxNew)
    Et windev me sort:
    La connexion <gcnxLDB> est inconnue.
    Mon composant interne est avec son analyse et contexte indépendant.
    Je pensait que une variable de type Connexion est une "simple" variable. Elle semble pourtant lier au contexte HFSQL...

    Il est tout de même possible de "lire" la variable dans mon composant: cnxNew..Serveur retourne le résultat attendu.
    Malheureusement, le ..MotDePasse n'est pas accessible en lecture. donc je doit le passé en argument supplémentaire.

    Et si je test en forçant la "copie" du paramètre via un LOCAL ou un <=, Windev ne veut pas non plus.

    Une idée pour éviter de passé par de multiple arguments ?

  2. #2
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Bah, tu peux demander à PCSOFT un correctif... Ou tu du moins si c'est un comportement normal de Windev.

    Si tu es pressé, il vaut mieux passer un paramètre supplémentaire, même si c'est rageant de se dire que ça marche "presque".
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  3. #3
    Membre actif
    Homme Profil pro
    Ingé Indus
    Inscrit en
    Juillet 2014
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingé Indus
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2014
    Messages : 107
    Points : 241
    Points
    241
    Par défaut
    Je n'ai plus le droit au support gratuit, dixit le commercial de PCS 🤐
    On est pas passé à la 24.

    Je passe la connexion + le mdp pour l'instant.
    Je trouve juste un peu fatiguant ces histoires de contexte hfsql... Il y a toujours quelque chose qui ne marche pas comme espéré.

  4. #4
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 053
    Points : 9 392
    Points
    9 392
    Par défaut
    A mon avis, c'est un comportement voulu, et non un bug. Le mot de passe ne doit pas être consultable par tous les modules qui ont accès à la connexion.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  5. #5
    Membre actif
    Homme Profil pro
    Ingé Indus
    Inscrit en
    Juillet 2014
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingé Indus
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2014
    Messages : 107
    Points : 241
    Points
    241
    Par défaut
    Ne pas relire le mot de passe par programmation n'est pas le problème. Cela me va.
    Le soucis est d'en ne pas réussir à utiliser une variable de type "connexion" défini dans un autre contexte hfsql.

  6. #6
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Bonjour,

    Une idée bien dégueu mais qui peut fonctionner.. a tester...

    Utiliser une indirection sur le nom de la variable de la connexion si elle est globale au projet ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    {"gcnxLDB", indVariable}
    Est-ce qu'elle est accessible comme çà ?

Discussions similaires

  1. [2012] Paramétrer une connexion OLEDB dans un composant de script
    Par Slaveak dans le forum SSIS
    Réponses: 2
    Dernier message: 19/11/2015, 17h54
  2. [Généralités] Variables globales et composant interne
    Par Atsibat dans le forum WinDev
    Réponses: 2
    Dernier message: 25/06/2013, 10h58
  3. Réponses: 3
    Dernier message: 01/02/2011, 14h13
  4. Réponses: 6
    Dernier message: 28/05/2004, 09h39
  5. Réponses: 10
    Dernier message: 19/02/2004, 12h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo