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

ActionScript 3 Discussion :

Download dialog box qui ne s'affiche pas


Sujet :

ActionScript 3

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 145
    Par défaut Download dialog box qui ne s'affiche pas
    Bonjour,

    Je travaille actuellement sur une nouvelle fonctionnalité : la mise a jour (automatique ou non) de mon appli grace au framework ApplicationUpdater de Flex.

    Tout j ai bien codé et tout marche presque nickel, sauf que...
    Parfois, la fenetre de Download de la mise a jour (ou on peut choisir entre "download later" et "download now") ne s'affiche pas. Ceci de maniere sporadique et aleatoire. J'ai l'impression que ca a a voir avec le focus qui ne se met pas sur la fenetre de download (car lorsque je met des points d'arret en debug, cette fenetre ne s'affiche jms...). Je n'ai absolument rien trouvé a ce sujet sur le net (ce qui est tout de mem etrange...). J ai essaye de forcer la visibilité de cette fenetre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var appUpdater:ApplicationUpdaterUI = new ApplicationUpdaterUI();
    this.appUpdater.isDownloadUpdateVisible = this.appUpdater.isDownloadProgressVisible = true;
    a plusieurs endroit du code (avant l'initialisation de mon ApplicationUpdaterUI, apres, quand le status est updaté (StatusUpdate)) rien n'y fait...

    Je ne sais pas comment forcer le focus sur la fenetre de telechargement, puisque je ne sais aps comment et quand recuperer cette fenetre de telechargement (download)

    Si vous avez une idee je suis preneuse !!!

  2. #2
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 145
    Par défaut
    Apres investigations, en fait ce qui se passe, c est qu il doit y avoir un probleme de synchronisation :
    En effet, dans le comportement normal (et qui marche), lorsqu'on appuit sur le bonton "check for updates" qui appelle la fonction checkUpdate du applicationUpdater :
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    		/**
    		 * check if there are any updates available
    		 */		
    		public function checkUpdate () : void {
    			this.appUpdater = new ApplicationUpdaterUI();
    			//we can hide the dialog asking for permission for checking for a new update
    			this.appUpdater.isCheckForUpdateVisible = false;
    			//force the display of the download dialog box
    			this.appUpdater.isDownloadUpdateVisible = this.appUpdater.isDownloadProgressVisible = true;
    			// if the check up is automatic, then isInstallUpdateVisible is set to true and the dialog box for installing the update will be visible
    			this.appUpdater.isInstallUpdateVisible =  !isAutomaticCheckUpdates;
    			this.appUpdater.isFileUpdateVisible = true;
     
    			logger.info("checkUpdate : isDownloadUpdateVisible = " + this.appUpdater.isDownloadUpdateVisible + "isDownloadProgressVisible = " + this.appUpdater.isDownloadProgressVisible);
     
    			//we set the event handlers for INITIALIZED and ERROR
    			this.appUpdater.addEventListener(UpdateEvent.INITIALIZED, onInitialized);
    			this.appUpdater.addEventListener(StatusUpdateEvent.UPDATE_STATUS, onUpdateStatus);
    			this.appUpdater.addEventListener(UpdateEvent.CHECK_FOR_UPDATE, onCheckForUpdate);
    			this.appUpdater.addEventListener(DownloadErrorEvent.DOWNLOAD_ERROR, onDownloadError);
    			this.appUpdater.addEventListener(StatusFileUpdateErrorEvent.FILE_UPDATE_ERROR, onFileUpdateError);
    			this.appUpdater.addEventListener(ErrorEvent.ERROR,onError);			
    			var updateUrl:String = "dossier/updates/updateDescriptor.xml";
    			this.appUpdater.updateURL = updateUrl;
    			//initialization of the updater
    			this.appUpdater.initialize();			
    		}
     
     
     
    		public function onInitialized (event:UpdateEvent) : void {
    			// updater initialized, now start update
    		   	this.appUpdater.checkNow();		
    		}
     
    		public function onUpdateStatus (event:StatusUpdateEvent) : void {
    			if (!this.automaticCheckUpdates && !event.available){
    				Alert.show('INFO_UPDATE_NOT_AVAILABLE','ACT_UPDATE');
    			}
    La fonction checkUpdates est donc appelée, puis onInitialized et donc la methode checkNow de l'application updater. Suite a cela, une fonction "enterFrameHandler" de WindowedApplication est appelée, dans laquelle se trouve la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    stage.nativeWindow.visible = _nativeWindowVisible
    .
    _nativeWindowVisible est false, mais comme la fenetre de download n est pas encore affiché, il n y pas d impact, et la fonction onUpdateStatus est enfin appelée.

    Le probleme de synchronisation (je pense) se pose car parfois, on arrive dans onUpdateStatus avant que la methode de WindowedAplication soit appelée. Du coup, comme la fenetre de download est deja créée, le bout de code (sur la visibilité de la nativeWindow) fait disparaitre la fenetre.

    Une idee de comment resoudre la chose ?

    Petit resumé :

    checkNow();
    WindowedApplication enterFrameHandler function
    OnUpdateStatus
    = OK

    checkNow();
    OnUpdateStatus
    WindowedApplication enterFrameHandler function
    = NOT OK

Discussions similaires

  1. UI Dialog qui ne s'affiche pas sous IE
    Par Toto478 dans le forum jQuery
    Réponses: 0
    Dernier message: 17/01/2011, 12h02
  2. pages qui ne s'affichent pas
    Par luck dans le forum ASP
    Réponses: 4
    Dernier message: 19/07/2004, 11h35
  3. [Applet] BorderLayout qui ne s'affiche pas
    Par Invité(e) dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 29/04/2004, 11h39
  4. [debutant][Tomcat]Images qui ne s'affichent pas
    Par omega dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 07/04/2004, 09h44
  5. [MFC] Ces fenêtres qui ne s'affichent pas..
    Par Davide dans le forum MFC
    Réponses: 3
    Dernier message: 19/11/2003, 11h30

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