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 :

Erreur au chargement de la DLL Wininet.dll [WD17]


Sujet :

WinDev

  1. #1
    Membre éprouvé
    Inscrit en
    Avril 2008
    Messages
    1 129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1 129
    Points : 1 283
    Points
    1 283
    Par défaut Erreur au chargement de la DLL Wininet.dll
    Bonjour à tous!

    J'ai une erreur aléatoire sur un thread de mon appli sur Httprequete()

    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
    17
    18
    19
    20
    21
    22
    Erreur à la ligne 27 du traitement Procédure locale Recherche_info.
    Vous avez appelé la fonction HTTPRequête.
    Erreur au chargement de la DLL Wininet.dll
     
     
    Appel WL :
    Traitement de 'Procédure locale Recherche_info' (FEN_PP.PROCEDURE.Recherche_info), ligne 27, thread 0
    Fonction 'HTTPRequête', syntaxe 3
     
    Que s'est-il passé ?
    Erreur au chargement de la DLL Wininet.dll
     
    Code erreur : 100128
    Niveau : erreur fatale (EL_FATAL)
     
    Dump de l'erreur du module 'wd170com64.dll' (17.0.58.0).
    Informations de débogage :
    Fonction (10,61)
    Informations supplémentaires :
    EIT_PILEWL :
    Procédure locale Recherche_info (FEN_PP.PROCEDURE.Recherche_info), ligne 27
    EIT_DATEHEURE : 14/12/2012 12:07:20
    Ou Faut-il trouver cette dll? Elle n'est pas généré avec l’exécutable.
    Je me demande s'il est important de l'avoir du fait que l'erreur est aléatoire (elle arrive de temps en temps)

    Avez vous une idée ?

    Merci d'avance

  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
    Ca ne serait pas tout simplement que la succession d'appels serait trop rapide ?

    Et/ou des variables "mal" vidées/initialisées ?
    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 éprouvé
    Inscrit en
    Avril 2008
    Messages
    1 129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1 129
    Points : 1 283
    Points
    1 283
    Par défaut
    Salut Frenchsting!

    et merci pour l'intérêt...

    Je penche pour la succession trop rapide...

    Mais comment temporiser entre 2 requêtes?
    Qui de plus sont dans un thread?

    Un simple multitache(10) ferait l'affaire?

    Merci d'avance

  4. #4
    Membre confirmé Avatar de Nhaps
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2011
    Messages : 350
    Points : 603
    Points
    603
    Par défaut
    Citation Envoyé par zouzoukha Voir le message

    Un simple multitache(10) ferait l'affaire?
    Oui, essaye avec cette pause.
    Mais tu n'arrives pas à reproduire à 100% l'erreur ?

    Nhaps
    Windev 23 - SQL SERVER - PHP
    Play : TFT - Jeux indé

  5. #5
    Membre éprouvé
    Inscrit en
    Avril 2008
    Messages
    1 129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1 129
    Points : 1 283
    Points
    1 283
    Par défaut
    Salut,

    non je n'arrive pas, c'est une requete en continue et cela peut provenir au bout d'une heure comme pas du tout!

    Par contre cela semble s'atténuer lorsque je diminue le nombre de threads ou lorsque j'augmente le timeout.

    Je vais donc essayer le multitache(10) et reviendrais vers vous!

    Merci

  6. #6
    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
    Bonne idée pour le multitâche()
    Par contre :
    - voir si une valeur négative serait la bienvenue,
    - voir si tu n'as pas un risque d'empilement excessif de tes appels au thread...

    Regarde la possibilité de mettre un sémaphore, fermé au début de ton thread, ouvert à la fin, et ne faire l'appel à ton thread que qd le sémaphore est ouvert...

    Ou simplement mettre un booléen global à vvrai/faux et tester ce booléen avant l'appel...
    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

  7. #7
    Membre éprouvé
    Inscrit en
    Avril 2008
    Messages
    1 129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1 129
    Points : 1 283
    Points
    1 283
    Par défaut
    Salut!

    Un chose en entraine une autre

    Maintenant je remarque que j'ai un souci dans mes threads. Est -il possible que cekla soit la raison de mon erreur?

    Ci-dessous l'explication assez rapide de ce que je cherche à mettre en oeuvre:

    J'ai un fichier texte de quelques centaines de milliers de lignes sous la forme :

    Jean-Michel|COURTIER|Maçon|Retraité
    René|CARPENTIER|Professeur|actif
    Sophie|MARCEAU|Actrice|Retraité

    Je souhaite récupérer tous les professeurs de la liste!

    Je passe par fouvre() et je lis ligne par ligne et si une occurence de la chaine "Professeur" est trouvé je sauve dans un fichier Hyperfile.

    Tout se passe très bien avec un seul thread! Mais dès que j'en ai plusieurs, je me rends compte que je ne gagne pas de temps puisque je lis les mêmes lignes dans chacun des threads

    Avez-vous une méthode/astuces afin de profiter des threads?

    Merci d'avance

  8. #8
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 276
    Points : 739
    Points
    739
    Par défaut
    Bonjour,

    Il y a certainement une raison : mais pourquoi passer par des threads forcément pour faire ce traitement ?

    Sinon, plusieurs idées en vrac (qui dépendent surtout de où quand comment et par quoi est fait le traitement)

    1. Importer le fichier texte directement dans un fichier "tampon" via HImporteTexte. Puis faire une requête DELETE pour supprimer les enregistrement "non professeur". Enfin parcourir ce fichier et faire les ajouts dans le fichier final. Je ne sais pas si la fonction HImporteTexte est optimal pour des fichiers aussi gros, je l'utilise de temps en temps pour de petits fichiers à des fins de tests.

    2. Faire les manipulations en deux étapes : d'abord parcourir le fichier texte et mémoriser tous les "professeurs" dans une variable globale de type pile. Puis dépiler cette variable globale dans les différents thread. Il me semble que les variables Pile sont "threadsafe", donc tout devrait être bien géré.


    Cordialement.

  9. #9
    Membre éprouvé
    Inscrit en
    Avril 2008
    Messages
    1 129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1 129
    Points : 1 283
    Points
    1 283
    Par défaut
    Salut Dejack!

    En réalité j'ai simplifié mais à chaque lecture de ligne, si je trouve l'occurence j'effectue une multitude d'opérations concernant cette ligne.

    J'ai déjà essayé avec un fichier hyperfile, l'opération est longue et couteuse en RAM.

    L'idéal est le parcours du fichier texte!
    Tout fonctionne à la perfection.

    J'aimerai seulement accélérer le processus en augmentant le nombre de threads.

    Si seulement j'avais la possibilité de savoir en lisant une ligne qu'elle a été lue auparavant dans un autre thread!

    Merci

  10. #10
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    914
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 914
    Points : 1 496
    Points
    1 496
    Par défaut
    Bonsoir
    Peut-être, en divisant le fichier en plusieurs morceaux, et chacun dans un thread.

  11. #11
    Membre éprouvé
    Inscrit en
    Avril 2008
    Messages
    1 129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1 129
    Points : 1 283
    Points
    1 283
    Par défaut
    Slut Ysep

    Excellente idée!

    Je vais explorer cette voie

  12. #12
    Membre éprouvé
    Inscrit en
    Avril 2008
    Messages
    1 129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1 129
    Points : 1 283
    Points
    1 283
    Par défaut
    Salut à tous!

    Multitache() a bel et bien résolu le problème

    Merci à tous

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

Discussions similaires

  1. [TClientDataSet] Erreur de chargement du fichier MIDAS.DLL
    Par Manopower dans le forum Bases de données
    Réponses: 10
    Dernier message: 31/08/2016, 14h08
  2. [WD17] Erreur au chargement de la DLL Wininet.dll
    Par zouzoukha dans le forum WinDev
    Réponses: 0
    Dernier message: 07/01/2013, 19h48
  3. Réponses: 1
    Dernier message: 07/12/2007, 14h49
  4. Erreur de chargement de la dll
    Par laglue dans le forum Access
    Réponses: 4
    Dernier message: 19/12/2005, 13h21
  5. [Débutant][JNI]Erreur de chargement de dll
    Par Agifem dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 24/04/2003, 14h36

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