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

Flex Discussion :

Accéder à un objet d'un module à partir d'un autre module


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de ziad.shady
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Mai 2008
    Messages : 212
    Par défaut Accéder à un objet d'un module à partir d'un autre module
    Bonjour,

    En fait je voudrai savoir comment accéder à une instance qui se trouve dans un module à partir d'un autre module.

    Je m'explique:

    J'ai deux modules qui produisent 2 swf différents.

    Dans le premier module j'ai un fichier MyFile.mxml qui contient une instruction de ce genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <mx:ModuleLoader   id="MyModule" url="MySWF.swf" />
    Maintenant à partir du deuxième module je voudrais accéder à cette même instance qui est "MyModule" pour que je puisse appliquer des opérations au dessus.

    Merci d'avance pour toutes vos réponses.

  2. #2
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Par défaut
    Salut,

    je vais peut etre t'induire en erreur , mais j'ai un souvenir qu'avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    this.parent
     
    OU
     
    this.parentDocument
     
    OU
     
    this.parentApplication
    tu peux t'en sortir, mais c'est à vérifier

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  3. #3
    Membre expérimenté Avatar de Fares BELHAOUAS
    Homme Profil pro
    Développeur Flex & Java
    Inscrit en
    Mars 2002
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Flex & Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 182
    Par défaut
    Salam Ziad,

    La meilleure façon de communiquer entre module est d'utiliser PureMVC multicore, c'est une version améliorée de PureMVC, ça prend un peu de temp pour l'apprendre, mais une fois que c'est fait, tout ira plus vite et bien structuré.

  4. #4
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Par défaut
    Oui certes PureMVC, si tu utilises PureMVC c'est possible, mais si ce n'est pas le cas, il ne faut pas t'imposer l'utilisation de ce framework si tu n'en a pas réellement besoin! Ce que je veux dire, n'installe pas PureMVC multicore uniquement pour utiliser la communication entre module

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  5. #5
    Membre expérimenté Avatar de Fares BELHAOUAS
    Homme Profil pro
    Développeur Flex & Java
    Inscrit en
    Mars 2002
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Flex & Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 182
    Par défaut
    Salam Ziad,

    Voici du code, non PureMVC

    Module1.mxml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Module xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="400" height="300">
    	<mx:Script>
    		<![CDATA[
    			import mx.core.Application;
    		]]>
    	</mx:Script>
    	<mx:Button id="buttonM1" label="Module1"
    		click="{Application.application.moduleLoader2.child.buttonM2.label = 'buttonM2 Modified'}"
    		/>
    </mx:Module>
    Module2.mxml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Module xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="400" height="300">
    	<mx:Script>
    		<![CDATA[
    			import mx.core.Application;
    		]]>
    	</mx:Script>
    	<mx:Button id="buttonM2" label="Module2"
    		click="{Application.application.moduleLoader1.child.buttonM1.label = 'buttonM1 Modified'}"
    		/>
    </mx:Module>
    MonApplication.mxml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
    	<mx:VBox id="vBox1">
    		<mx:ModuleLoader id="moduleLoader1" url="Module1.swf"/>
    		<mx:ModuleLoader id="moduleLoader2" url="Module2.swf"/>
    	</mx:VBox>
    </mx:Application>

  6. #6
    Membre confirmé Avatar de ziad.shady
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Mai 2008
    Messages : 212
    Par défaut
    Bonjour à tous,

    Tout d'abord Je vous remercie beaucoup pour vos réponses .

    En fait par rapport à la 1ère réponse de jim_nastiq; j'ai déjà utilisé le this.parentApplication mais cela marche que si la déclaration d'un des modules <mx:ModuleLoader> est faite dans l'application parent. par rapport au deux autres je les ai pas utilisé (je vais en jeter un coup d'oeuil).

    Par rapport à la 1ère réponse de Fares et la 2ème de jim_nastiq, qui consiste sur l'utilisation de PureMVC multicore. A la base j'utilise Cairngorm, je ne sais pas si ce dernier peut offrir également le même mécanisme que celui de PureMVC multicore pour faire communiquer mes modules!
    Sinon est ce qu'il y a moyen de cohabiter les deux micro-architectures pour que je puisse bénéficier de l'apport de PureMVC multicore?

    Par rapport à la 2ème réponse de fares, le souci est que la déclaration de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <mx:ModuleLoader id="moduleLoader1" url="Module1.swf"/>
    <mx:ModuleLoader id="moduleLoader2" url="Module2.swf"/>
    ne devra pas être dans l'application parent <mx:Application> <mx:Application> par ce que ces deux modules seront chargés dans des modules fils différents.

    je vais essayer de donner un aperçu sur la structure de mon application :

    Mon application contient un module A qui servira à charger deux modules B et C.
    La communication entre le module B et C et entre B et les modules chargés sur le module C est bien établie biensûr en passant par le parentApplication.

    Le module C charge à son tour un module D.

    Mon souci c'est d'accéder au module C à travers D et plus précisemment à l'objet qui est "MyModule" de cette déclaration :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <mx:ModuleLoader   id="MyModule" url="MySWF.swf" />
    Le but c'est décharger ce module auquel je voudrai y accèder.

    Je me demande si le parentApplication sera utile dans ce cas là!

    Je vous pris de me donner encore de vos solutions si je n'abuse pas.

    Et merci encore.

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/01/2015, 17h28
  2. [1.x] Formulaire d'un module à partir d'un autre module
    Par etoileweb dans le forum Symfony
    Réponses: 2
    Dernier message: 19/10/2010, 12h25
  3. Accèder les objets d'une form à partir d'une classe
    Par xyron_x dans le forum Windows Forms
    Réponses: 2
    Dernier message: 05/04/2007, 14h49
  4. Accéder à des objets d'une Form à partir d'une classe
    Par kinouseb dans le forum Windows Forms
    Réponses: 4
    Dernier message: 23/01/2007, 18h07
  5. [VB]accéder au composant d'une fenetre à partir d'une autre
    Par ennamsaoui dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 24/04/2006, 11h44

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