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

VB.NET Discussion :

Attendre la fin d'une fonction


Sujet :

VB.NET

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Attendre la fin d'une fonction
    Bonjour à tous,
    je débute en matière de VB et ai parfois du mal à trouver des réponses à mes questions (je développe plus régulièrement des applications php).

    Je suis en train de développer un écran de veille qui permettra d'afficher les derniers flux RSS d'une URL donnée.
    Il sera également possible via cette écran de veille, de diffuser en fond, un diporama d'images suivant un repertoire donné.

    Le stade actuel de mon écran de veille est un diaporama qui marche correctement, changeant d'image toutes les minutes.

    Je me suis donc attaqué au dev du chargement des flux, seulement le hic (on y vient), c'est qu'il ne m'affiche pas la première image de fond du diaporama TANT que les noeuds Xml n'ont pas été chargées. Pourtant la fonction qui charge les noeuds dans une liste est située après la demande d'affichage des images.

    Le corps du code donne à peu de choses près ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private Sub maframe_load
      load_images() 'Charge les images d'un repertoire donné dans un tableau
     
      display_image(0) 'Affiche la première image du tableau
     
      load_RSS() 'Charge les sections dans une liste de noeuds XML
     
    End Sub
    Si je commente load_RSS, l'image s'affiche aussitot, dans le cas contraire elle doit attendre la fin du chargement (enfin je pense)

    N'y a-t-il pas un moyen de forcer l'affichage avant de lancer le chargement des sections RSS ?

    Merci

  2. #2
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Peut être avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Private Sub maframe_load
      load_images() 'Charge les images d'un repertoire donné dans un tableau
     
      display_image(0) 'Affiche la première image du tableau
     
      Application.DoEvents()
     
      load_RSS() 'Charge les sections dans une liste de noeuds XML
     
    End Sub

  3. #3
    Membre chevronné
    Avatar de olsimare
    Inscrit en
    Décembre 2006
    Messages
    1 179
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 179
    Points : 1 776
    Points
    1 776
    Par défaut
    Bonjour.

    Ca va finir par l'utilisation d'un backgroundworker tout ça ...

    A voir : http://glarde.developpez.com/dotnet/bgworker/

    Cdt.

  4. #4
    Futur Membre du Club
    Inscrit en
    Mars 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Bonjour,
    merci pour vos réponses.

    Ca fonctionne avec le DoEvent, mais d'après ce que j'ai pu lire il n'est pas souvent conseillé pour cause de consommation machine. Comment fonctionne-t-il dans ce cas là ?
    Il n'est exécuté qu'une fois ou bien crée-t-il une boucle d'écoute qui tourne durant toute l'appli ?

    Pour le backgroundworker, je n'ai pas cette option dans ma version de Visual Studio (2003).

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Points : 357
    Points
    357
    Par défaut
    Le DoEvents fais bien ce qu'il dit...

    Il rend la main à l'application juste avant de passer à la suite.

    Non t'inquiètes, ça va pas tourner en boucle en tâche de fond. Evidemment ça va prendre un peu de temps, mais au moins fonctionnellement ce sera correcte

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

Discussions similaires

  1. Attendre la fin d'une fonction asynchrone
    Par JustyDark dans le forum NodeJS
    Réponses: 6
    Dernier message: 18/05/2015, 23h11
  2. attendre la fin d'une fonction
    Par stoner2008 dans le forum Réseau/Web
    Réponses: 3
    Dernier message: 19/04/2012, 15h32
  3. Attendre la fin d'une fonction avant d'en executer une autre
    Par FluidBlow dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 24/07/2009, 21h46
  4. [PHP 5.0] Attendre la fin d'une fonction pour en realiser une autre
    Par keaton7 dans le forum Langage
    Réponses: 2
    Dernier message: 07/05/2009, 16h06
  5. [FLASH MX2004] Attendre la fin d'une anim
    Par stailer dans le forum Flash
    Réponses: 2
    Dernier message: 11/07/2005, 12h47

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