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 :

Loader -> Décharger un fichier après un load()


Sujet :

ActionScript 3

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2010
    Messages : 51
    Points : 79
    Points
    79
    Par défaut Loader -> Décharger un fichier après un load()
    Bonjour à tous,

    J'ai chargé un fichier image dans ma scène, ça fonctionne sauf que j'ai un programme qui vient mettre à jour cette image et n'a malheureusement pas accès en écriture quand le flash est actif...

    Donc il y reste une instance vers ce fichier que j'aimerai libérer,
    Je voudrais pas principe :
    • Lire l'image
    • La copier dans un Bitmap
    • La libérer


    Mon code est actuellement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public static function loadImage(url, userComplete) {
    	// Chargement fichier
    	var chargeur : Loader = new Loader();
    	var urlrequest : URLRequest = new URLRequest(url);
    	chargeur.contentLoaderInfo.addEventListener(Event.COMPLETE, imageloaded);
    	chargeur.load(urlrequest);
     
    	function imageloaded() {
    		trace("COMPLETE");
    		chargeur.removeEventListener(Event.COMPLETE, imageloaded);
    		chargeur.unload();	
    	}			
    }
    Mais avec un unload je ne peux toujours pas modifier mon fichier, et un chargeur.close() est sensé arrêter un load pas encore complet...

    Comment faire pour libérer mon fichier ?
    Merci aux pros du Flash !

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 197
    Points : 89
    Points
    89
    Par défaut
    Salut,
    je ne comprend pas ce passage " et n'a malheureusement pas accès en écriture quand le flash est actif"

    Sinon je crois avoir compris ton problème , tu voudrais modifier une image que tu télécharge sur le net?
    Si c'est le cas je crois que ceci est impossible, car interdit (sauf en local), même en trichant en faisant une copie MovieClipToBitmap de la scène.

    Edit:
    En fait il semblerais que sa soit possible avec cette ligne de code très simplement:
    var bitmap:Bitmap= Bitmap ( loader.content ) ;
    A vérifier.

    Dans la doc il sont pas très bavard sur la fonction unload de la classe Laoder.
    A priori il vaut mieux créer une nouvelle instance de Loader et déréférencer l'autre et attendre que le garbage colector fasse sont travail.

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2010
    Messages : 51
    Points : 79
    Points
    79
    Par défaut
    Merci pour ta réponse.

    En fait l'erreur c'est que quand je fais un load() sur un fichier, il m'est ensuite impossible par exemple de supprimer le fichier via mon gestionnaire de fichier qui me dit "Fichier utilisé, Cette action ne peut être réalisé car le fichier est ouvert par Flash, essayez de le fermer ..."

    Je peux évidemment le copier dans un Bitmap et m'en servir, c'est le passage "copier l'image" avec la valeur loader.content accessible après un Event.COMPLETE, ça fonctionne très bien et j'imagine donc que le Bitmap est totalement indépendant du disque.

    Il me faut néanmoins pourvoir fermer ce fichier ouvert par mon objet Loader, je n'ai malheureusement toujours pas trouvé comment faire

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 197
    Points : 89
    Points
    89
    Par défaut
    Salut,

    Ok j'ai compris, tu utilise la classe Loader pour télécharger un fichier en local.

    Malheureusement j'ai jamais pensez à faire sa, si j'ai un peu de temps je ferais quelque test.


    Peut tu essayé de rajouter cette ligne "chargeur = null" dans la fonction "imageloaded()".
    Mais surtout ne copie pas le conteneur dans un premier temps afin d'être sur que flash ne rend pas les permissions avant sa fermeture..
    Dans la doc il insiste qu'il vaut mieux utilisé unload pendent un chargement pas à la fin du chargement.

    Du coup je ne comprend pas trop le but de l'application, c'est un projet Air directement depuis l'OS ou c'est du Flash10?11? depuis un navigateur?

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2010
    Messages : 51
    Points : 79
    Points
    79
    Par défaut
    ET mince alors j'ai trouvé le problème c'était bête car ça ne venait pas du code...

    C'était parce que je testais directement dans mon environnement de développement Adobe Flash (CS3)
    Quand je testais (ctrl+enter) dans Flash alors il me bloquait l'accès aux fichiers (déjà) chargés.
    Tandis que sur un navigateur par exemple il n'y a pas trace de ce problème.
    Je ne comprends d'ailleurs pas bien pourquoi ce comportement.

    Se méfier la prochaine fois du comportement que donne l'environnement !!
    Merci carton99 pour ton aide

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 197
    Points : 89
    Points
    89
    Par défaut
    Salut,
    parfais si sa marche.
    Effectivement il faut souvent tester depuis un interpréteur externe à l'IDE Flash.
    Mais généralement sa marche moins bien en dehors de l'IDE souvent pour des raisons de sécurité qui ne sont pas activé pendant le développement.

    bon courage pour la suite.

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

Discussions similaires

  1. SQL*LOADER - Requete dans le fichier de controle
    Par VinceTlse dans le forum Oracle
    Réponses: 6
    Dernier message: 19/01/2006, 15h11
  2. Récupération fichiers après formatage
    Par lmyfgame dans le forum Autres Logiciels
    Réponses: 6
    Dernier message: 16/12/2005, 13h38
  3. Erreur validation fichier après un OpenDialog
    Par jackrabbit dans le forum Langage
    Réponses: 2
    Dernier message: 24/08/2005, 13h28
  4. sauvegarde d'un fichier apres transformations
    Par tigana dans le forum OpenGL
    Réponses: 5
    Dernier message: 18/05/2005, 10h01
  5. Supprimer les guillemets dans un fichier après écriture
    Par soulryo dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 01/03/2005, 11h39

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