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 :

HFermeConnexion ne fonctionne plus? [WD24]


Sujet :

WinDev

  1. #1
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2010
    Messages
    283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 283
    Points : 263
    Points
    263
    Par défaut HFermeConnexion ne fonctionne plus?
    Bonjour,

    Avez-vous eu des problèmes avec la fonction hFermeConnexion depuis la version 24.


    J'arrive à ouvrir des connexions, mais dès que je passe sur hFermeConnexion, le logiciel gèle. (J'ai pu attendre un bon 15 minutes avant de fermer wdtest de force).

    Je lui ai mis un "SI PAS" pour obtenir un erreur, mais je ne recois même pas de booléen en réponse.


    Avez-vous eu le même comportement de votre coté?



    P.S.: le code est éxécuté depuis une méthode de classe, avec la variable Connexion en variable de classe. (Fonctionnait parfaitement avec WD20 avant mon update en 24.)


    Merci!

  2. #2
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2012
    Messages : 42
    Points : 40
    Points
    40
    Par défaut
    PC SOFT avec ces mises a jour. Si ton problème persiste tu peux directement contacté PC SOFT, étant donné que tu es en version courante. Je suis passé de WD 17 a WD20, j'ai galéré à mort. La j'ai la trouille de migrer en WD24. Chaque mise à jour crée toujours des soucis surtout sur de gros projets...

  3. #3
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2010
    Messages
    283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 283
    Points : 263
    Points
    263
    Par défaut
    Bonjour,

    Je me permet de remonter ce sujet, car j'ai toujours le même problème.

    Après avoir communiqué avec le support technique, ils en ont conclus qui avait aucun bug de leur coté.


    Après de nombreux tests, j'ai dédui que le problème venait du fait d'ouvrir une connexion avec une adresse IP externe.

    Si j'utilise le même serveur/BD en local, tout est beau, dès que j'utilise l'IP externe, la connexion s'ouvre instantanément mais se ferme en 10-15 minutes..


    Avez-vous une idée du pourquoi du comment?


    Merci

  4. #4
    Membre émérite
    Avatar de DelphiManiac
    Homme Profil pro
    Homme à tout faire
    Inscrit en
    Mars 2002
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Homme à tout faire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 147
    Points : 2 533
    Points
    2 533
    Par défaut
    Par hasard n'utilises tu pas la connexion qui est déclaré dans ta classe à l'extérieur avec un code du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    procédure Test()
    maConnexion est une connexion
    maConnexion = maClasse.Connexion
    J'ai eu un problème qui pourrait se rapprocher avec une source de données. Dés que la variable à laquelle j'affectais ma source de données passait hors de portée (quand on sortait de la fonction), Windev fermait "tout seul" la source de données qui pourtant étais déclaré et initialisé dans une classe indépendante.

    Sinon, cela peut aussi être une perte de connexion réseau temporaire et du coup tu perds la connexion à la BDD, ce qui pourrait être validé par le fait qu'en local cela fonctionne.

    Pour vérifier cela, tu peux lancer en ligne de commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ping -4 -t <adresseIPDistance>
    et laisser tourner en attendant que le problème se produise. Quand le problème survient, vérifier que le ping n'a pas une perte de paquet aussi.
    Si ce message vous a semblé utile, il est possible qu'il soit utile à d'autres personnes. Pensez au . Et n'oubliez pas le le moment venu !

    On n'a pas à choisir si l'on est pour ou contre la décroissance, elle est inéluctable, elle arrivera qu'on le veuille ou non.

  5. #5
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2010
    Messages
    283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 283
    Points : 263
    Points
    263
    Par défaut
    Bonjour DelphiManiac,

    Merci pour ton temps,

    J'ai vérifié mes références croisée de ma variable Connexion et elle ne sort jamais de la classe. (En tout cas, sans affectation direct :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gcnxTestConnexion est une Connexion = gclServeur.cnxPrincipal
    )


    J'utilise une propriété pour jouer sur ma connexion

    Ex.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LIB_Serveur_NomBaseDeDonnee = gclServeur.cnxPrincipal..BaseDeDonnées


    J'ai ce code placé dans un autre classe qui utilise une connexion de ma classe Serveur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SI PAS HChangeConnexion(sNomBD,gclServeur.cnxPrincipal) ALORS
    			Erreur(ErreurInfo())
    			RENVOYER Faux
    FIN
    Est-ce que ça causerait le même problème que tu décris plus haut ?
    EDIT : Aucune différence, j'ai commenté ma classes. Ouvert une connexion par l'IP externe et j'ai le même comportement Uniquement sur le hFermeConnexion. Il tente bien de fermer la variable Connexion de ma classe serveur. Tout est encapsulé.



    Pour l'instant, je vais tester ta méthode ping pour analyser une perte de réseaux. J'ai également installé une VM Linux avec HF pour voir s'il y a une différence.
    EDIT: Aucune perte de connexion sur le hFermeConnexion, max Temps <3ms

    Je vous reviens avec mes tests,

    Statistiques :


    Nom : test.png
Affichages : 432
Taille : 38,8 Ko
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    PROCÉDURE FermeConnexion()
    HFermeConnexion(m_cnxPrincipal)

    Merci et bonne journée!

  6. #6
    Membre émérite
    Avatar de DelphiManiac
    Homme Profil pro
    Homme à tout faire
    Inscrit en
    Mars 2002
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Homme à tout faire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 147
    Points : 2 533
    Points
    2 533
    Par défaut
    Et c'est toujours pil-poil 120 secondes ?

    Si oui, quel moteur de base de données, je pense fortement à un timeout qui est atteint au bout de 120 secondes.
    Si ce message vous a semblé utile, il est possible qu'il soit utile à d'autres personnes. Pensez au . Et n'oubliez pas le le moment venu !

    On n'a pas à choisir si l'on est pour ou contre la décroissance, elle est inéluctable, elle arrivera qu'on le veuille ou non.

  7. #7
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2010
    Messages
    283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 283
    Points : 263
    Points
    263
    Par défaut
    Salut,

    Et c'est toujours pil-poil 120 secondes ?
    90% du temps oui. (EDIT : Au départ, j'obtenais parfois un délai de plus de 10 minutes. 120 secondes est maintenant la moyenne de me test.)

    J'ai installé HFSQL sur une VM Linux et le résultat est le même . 120s 10mms


    Je vais aller vérifier s'il a pas moyen de changer l'option du timeout.
    EDIT : Il y a la fonction HCS.Timeout = Val.

    J'ai testé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    HCS.Timeout = INTRANET
    HCS.Timeout = 500
    HCS.Timeout = 1s

    Aucun changement

  8. #8
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2010
    Messages
    283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 283
    Points : 263
    Points
    263
    Par défaut
    Je crois avoir trouvé mon problème... En fait c'est un peu ridicule.

    Je testais l'adresse IP externe qui repointait à l'interne.


    J'ai testé sur un autre poste de développement sur un autre réseaux, et ça fonctionne, 4-5 secondes max pour fermer la connexion.


    Donc, c'est un problème de redirection de routeur à l'interne..


    En gros, problème résolu.


    Merci pour votre support.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. CSS ne fonctionne plus depuis le passage au XHTML
    Par Cr@zyDeep dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 27/09/2005, 14h42
  2. recordcount ne fonctionne plus
    Par Oluha dans le forum ASP
    Réponses: 1
    Dernier message: 26/09/2005, 14h24
  3. Réponses: 2
    Dernier message: 22/06/2005, 13h07
  4. mes requetes sous access ne fonctionnent plus
    Par trialrofr dans le forum ASP
    Réponses: 12
    Dernier message: 04/12/2004, 21h52
  5. [JSP][Tomcat]Changement de context -> JSP fonctionne plus
    Par mathieu dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 01/03/2004, 08h01

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