1. #1
    Membre éprouvé Avatar de romulus001
    Homme Profil pro
    Développeur VB.NET et Windev (21) sur produits SAGE
    Inscrit en
    mai 2009
    Messages
    1 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur VB.NET et Windev (21) sur produits SAGE

    Informations forums :
    Inscription : mai 2009
    Messages : 1 006
    Points : 1 185
    Points
    1 185

    Par défaut Nouvelles dll qui font planter mon programme

    Bonjour,

    Une erreur m'a été remontée, une erreur assez... incompréhensible même, et ce, depuis la mise à jour de la version 52J de Windev.
    J'ai développé une application qui est utilisée en interne, comme à chaque fois, quand je met à jour le logiciel, à chaque montée de version, je remplace les dll.

    A comprendre 1 : les utilisateurs ont une pop-up qui s'affiche à l'ouverture du programme leur demandant de mettre à jour le framework windev

    A comprendre 2 : suite à la mise à jour du framework, de nouvelles dll ont été ajoutées dans le répertoire de l'exécutable.

    Dll présentes sur le poste de développement, dans le dossier de l'exécutable (je ne met pas le préfixe wd220) :
    action
    com
    cpl
    grf
    hf
    html
    mat
    mdl
    mess
    net2
    net4
    obj
    oldb
    ole
    pdf
    pnt
    prn
    rtf
    sql
    std
    uni
    vm
    wk
    xls
    xml
    zip

    Nombre total : 26

    Dll présentes sur notre serveur, dans le dossier de l'exécutable (je ne met pas le préfixe wd220) :
    action
    barc
    ce
    cod
    com
    cpl
    db
    device
    ggl
    gpu
    grf
    grv
    hf
    html
    mat
    mdl
    mess
    net2
    net4
    obj
    oldb
    ole
    pdf
    pnt
    prn
    rtf
    sql
    std
    uni
    vm
    wk
    xls
    xml
    zip

    Nombre total : 34

    J'ai mis en rouge les dll qui ont été ajoutées.

    A comprendre 3 : désormais, quand je veux accéder à mon unique écran contenant le champ traitement de texte, le programme plante lorsque j'ai le focus sur ce champ, j'ai mis le message d'erreur en pièce jointe.
    Fichiers attachés Fichiers attachés
    Chat alors!

    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  2. #2
    Membre habitué
    Homme Profil pro
    Ingé Indus
    Inscrit en
    juillet 2014
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haut Rhin (Alsace)

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

    Informations forums :
    Inscription : juillet 2014
    Messages : 75
    Points : 149
    Points
    149

    Par défaut

    1. Pourquoi ne fais-tu pas une instalation de ton programme avec le framework intégrer ? (ou fournir les dll avec le programme en copie simple)
    Ca éviteras que chaque utilisateur retélécharge tout.

    2. ce sont des dll du framework, mais en général moins utilisé. Donc non utile si tu n'utilise pas les fonctions (ex: barc = gestion des codebare...)

    3. Surement un problème de version mineur entre ton programme et les dll.
    Assure toi que tout utilise la même (ex 52j)
    Et avec le framework télécharger je ne sais pas si les dll sont copié dans un répertoire de windows, donc peut-être différentes de celle présente de le répertoire de l'application

  3. #3
    Membre éprouvé Avatar de romulus001
    Homme Profil pro
    Développeur VB.NET et Windev (21) sur produits SAGE
    Inscrit en
    mai 2009
    Messages
    1 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur VB.NET et Windev (21) sur produits SAGE

    Informations forums :
    Inscription : mai 2009
    Messages : 1 006
    Points : 1 185
    Points
    1 185

    Par défaut

    le framework est embarqué dans les dll, mais à chaque montée de version de windev, il faut mettre à jour ces dll. Je pense que l'absence de ces dll, pourtant non utiles, ont fait apparaitre ce message de mise à jour du framework, ce qui serait trompeur.

    Je ne sais pas à quoi toutes ces nouvelles dll font références, mais effectivement, je n'ai pas de code barre dans mon projet (qui lui gère les appels des clients et affiche une fiche détaillée de chacun de nos clients).

    Je pense que cette version 52j de windev est assez instable, en voulant télécharger la mise à jour depuis ce lien, j'ai eu droit à ce message d'erreur :
    Nom : MAJ-52j.PNG
Affichages : 90
Taille : 358,7 Ko

    Alors qu'en téléchargeant depuis ce lien, je n'ai pas eu de soucis.
    J'ai l'impression que plus rien ne soit sous contrôle dans cette version 22 de windev

    EDIT : en générant un nouvel exécutable, j'ai pu retrouver la liste des dll utilisées dans mon projet, je tiens à préciser que je n'y touche jamais :
    Nom : dll1.PNG
Affichages : 83
Taille : 75,4 Ko
    Nom : dll2.PNG
Affichages : 84
Taille : 71,2 Ko

    EDIT2 : j'ai supprimé l'exécutable utilisé par mes collègues, ainsi que toutes les dll qui s'y trouvent, j'ai tout remplacé par celles se trouvant sur mon poste de développement, tout est revenue d'équerre désormais... je n'y comprends plus rien maintenant
    Chat alors!

    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  4. #4
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    décembre 2013
    Messages
    1 402
    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 : 1 402
    Points : 2 955
    Points
    2 955

    Par défaut

    La morale de cette histoire : ne pas utiliser les nouvelles versions tout de suite. Systématiquement attendre au moins 6 mois.

    Parfois, on se prive de nouveautés, parce que par miracle, la nouvelle version est utilisable dès sa sortie. Mais souvent, on évite bien des galères.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

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

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

    Informations forums :
    Inscription : juillet 2014
    Messages : 75
    Points : 149
    Points
    149

    Par défaut

    Je n'utilise pas toutes les dll non plus.
    Lors de monté de version, tout est mis à jour par l’installateur, je ne jamais eut de problème à ce niveau. (pas de demande de téléchargement)

    Concernant le plantage GPF j'ai déjà eut cela en déplacement après une mise à jour de mon application. J'utilisais un pc portable avec un windev 20 en version inférieur à celle utilisé au bureau. (Pas bien!)
    La solution rapide en attendant le téléchargement des 1,5Go de mise à jour, fut comme toi. virer l'applis et les dll, réinstall et hop, en marche.

    PS:
    Je ne joue pas trop avec la 22 encore. Je viens juste de mettre mon serveur HFSQL de dev en 22.
    Je vais bientôt mettre le serveur de test en 21!
    Oui, prudent.

  6. #6
    Membre éprouvé Avatar de romulus001
    Homme Profil pro
    Développeur VB.NET et Windev (21) sur produits SAGE
    Inscrit en
    mai 2009
    Messages
    1 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur VB.NET et Windev (21) sur produits SAGE

    Informations forums :
    Inscription : mai 2009
    Messages : 1 006
    Points : 1 185
    Points
    1 185

    Par défaut

    @tbc92 : justement, la version 22 est déployée en internet uniquement, je me vois pas de développer / migrer un projet dans une version aussi instable.
    Pas plus tard que la semaine dernière, j'ai fais un nouveau projet pour un client, j'ai fait appel à windev 21, version 67f, qui est, à l'heure actuelle, la version la plus stable qui existe.
    J'ai été un peu forcé à passer en version 22 de ce projet utilisé en interne par rapport à la présence du champ traitement de texte, bien que j'ai toujours regardé cela du mauvais oeil, même lors du TDF de l'an dernier, je m'étais dis qu'on se mettait à réinventer la roue qui tourne, le champ de saisie RTF fait déjà la même chose, à la différence près que ça marche sans problème

    @yoshi : tu fais de même quand tu fais une montée de version alors qu'une version du programme a déjà été livrée? Quand il s'agit d'un 1er déploiement, je livre justement un msi, puis je fais les réajustements dans le fichier .INI du paramétrage
    Chat alors!

    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  7. #7
    Membre éprouvé Avatar de romulus001
    Homme Profil pro
    Développeur VB.NET et Windev (21) sur produits SAGE
    Inscrit en
    mai 2009
    Messages
    1 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur VB.NET et Windev (21) sur produits SAGE

    Informations forums :
    Inscription : mai 2009
    Messages : 1 006
    Points : 1 185
    Points
    1 185

    Par défaut

    Message de la part du ST de PC SOFT:
    La préparation d'un correctif par les équipes Développement et Qualité est en cours. Un comportement amélioré sera disponible dans une prochaine version de WinDev mise en téléchargement sur le site (version 01F220053 ou supérieure)
    Chat alors!

    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  8. #8
    Membre habitué
    Homme Profil pro
    Ingé Indus
    Inscrit en
    juillet 2014
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haut Rhin (Alsace)

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

    Informations forums :
    Inscription : juillet 2014
    Messages : 75
    Points : 149
    Points
    149

    Par défaut

    Citation Envoyé par romulus001 Voir le message
    Message de la part du ST de PC SOFT:
    Vive les régression après le webinaire sur le Test Driven Developpement qui permet, en autre, de "éviter les régression" !

    Citation Envoyé par romulus001 Voir le message
    @yoshi : tu fais de même quand tu fais une montée de version alors qu'une version du programme a déjà été livrée? Quand il s'agit d'un 1er déploiement, je livre justement un msi, puis je fais les réajustements dans le fichier .INI du paramétrage
    Oui, évolution de version majeur et mineur depuis la 17.
    J'utilise l’installateur de windev avec le système de mise à jour sur réseau local. Je fournit l’installateur/mise à jour de "la version de référence". Aucun soucis particulier avec ce système mis à part mon erreur de régression de windev.

  9. #9
    Membre du Club
    Homme Profil pro
    Responsable support / Développeur
    Inscrit en
    mars 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Responsable support / Développeur

    Informations forums :
    Inscription : mars 2017
    Messages : 31
    Points : 49
    Points
    49

    Par défaut

    Si ça peut aider, au vu de ton edit 2: supprimer toutes les DLL relancer l'exe. Cela force Windev à tout télécharger. Ou alors comme tu l'as fait remettre les DLL de ton poste. J'explique ce que j'ai trouvé au cas ou ça puisse éclairer quelqu'un un jour:

    Je me suis rendu compte au fil du temps que sur des exe en production je faisais face à des erreurs inexplicables, alors que sur mon PC tout fonctionnait très bien. J'ai soupçonné Windev de ne pas mettre à jour correctement les DLL et je l'ai donc testé.

    Prenez un EXE qui intègre TOUTES les dll du framework, dans une version par exemple 10b. Lancez le, et il va extraire son jeu de DLL à ses côtés.
    Faites de même pour un exe généré par une version 20b de Windev - celle au dessus - et vous obtiendrez un jeu de DLL.

    Maintenant, générez un exe SANS les DLL mais en version 20b, et remplacez l'exe 10b, puis lancez le. Un téléchargement va être demandé bien sur.

    Bah à la fin, j'ai comparé les fichiers, et binairement, le jeu de DLL que vous obtenez n'est pas identique au jeu témoin, obtenu avec l'exe 20b initial qui contenait toutes les DLL. Or, on aurait logiquement du arriver au même jeu de DLL, binairement identiques.

    Selon moi ça explique plusieurs soucis que j'ai eu en production et qui se sont résolus simplement en supprimant les DLL et en relançant l'exe ce qui le force à tout retélécharger.

    Et désormais, lorsque je mets à jour les applicatifs et que je sais que j'ai changé de version de Windev je diffuse une version pivot: une énorme version qui contient toutes les DLL de ladite version, suivie d'une version mineure, sans aucune DLL. Cela impose un premier gros téléchargement certes mais au vu de la vitesse actuelle des connexions cela reste acceptable, et ensuite on est complètement tranquille et depuis, je n'ai plus jamais rencontré ces soucis.

Discussions similaires

  1. fonction dans dll qui fait planter programme
    Par chris069 dans le forum C++
    Réponses: 22
    Dernier message: 28/04/2009, 16h19
  2. comment trouver ce qui fait planter mon VS ?
    Par gorgonite dans le forum Visual Studio Team System
    Réponses: 3
    Dernier message: 03/06/2008, 23h40
  3. Récupérer le nom du fichier qui a appelé mon programme
    Par newbiedelphi dans le forum Débutant
    Réponses: 3
    Dernier message: 28/04/2008, 22h59
  4. Réponses: 2
    Dernier message: 17/03/2007, 13h43
  5. Réponses: 13
    Dernier message: 02/11/2006, 15h12

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