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

JavaScript Discussion :

[POO] appel d'une méthode d'un autre fichier, le tout objet


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 12
    Par défaut [POO] appel d'une méthode d'un autre fichier, le tout objet
    J'ai une erreur... comment dire.. psychadelique (rien que ça).
    Bon, en fait, je veux utiliser une fonction qui se trouve dans un fichier
    chocolat.js à partir du fichier fraise.js. Dans chacun, je regroupe les méthodes et attributs au sein d'objets. Ces des fichiers se chargent lors du chargement de l'appli (j'utilise gecko en stand-alone application).

    Bon, rien de plus simple en perspective, il suffit tout simplement de faire par exemple chocolat.jenveux(). Oui, ça marche. Mais ça marche pas ?! En fait, dans le même objet (fraise) une fonction fraiserouge() accèpte sans problème cet appel de fonctions (chocolat.jenveux()) et me renvoie true ou false, comme attendu. Mais la fonction juste au dessus (fraiseverte()) me déclenche l'exception suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Error: chocolat is not defined
    Source File: chrome://chocolat/content/chocolat.js
    Line: 1240
    Rien de plus vilain, j'admet. Avez-vous une quelconque réponse, piste vers laquelle chercher, direction ou quoi que ce soit ?
    Merci d'avance !!

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    ben si tes objets sont décalrés au sein de la focntion et non en global ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 12
    Par défaut
    Merci pour l'intêret que tu as porté à la question. Une remarque pertinente qui permer d'avancer dans le schmilimilimilblique.

    L'objet chocolat n'est pas déclaré. Je m'explique.
    Le programme utilisant la technologie xul, donc avec javascript, est centré sur l'application de base plus des add-ons. Les add-ons sont chocolat et fraise. Les objets chocolat et fraise sont respectivament crées lors du chargement du logiciel. Le but est d'exécuter chocolat.jenveux() dans la fonction fraiseverte() du fichier fraise alors que sa soeur fraiserouge(), qui n'a rien de plus ni de moins qu'elle a-priori, l'execute sans problèmes.

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    tu n'aurais pas un chtit bout de code en exemple ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 12
    Par défaut
    Merci pour tes réponses.

    dans le premier post, je me suis trompé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Error: chocolat is not defined
    Source File: chrome://fraise/content/chocolat.js
    Line: 1240
    Le problème est résolu, j'ai ajouté une ligne dans fraise.xul :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script src="chrome://chocolat/content/chocolat.js"/>
    En fait, dur dur d'expliquer tout ça.. J'apellais une fonction de fraise.js à partir de fruit.xul. Fruit est le script pour lequel est installé les add-ons fraise et chocolat. Donc, j'appellais la fonction dans fraise à partir de fruit, et fraise appellais une fonction dans chocolat. Pas de soucis.
    Mais si j'appellais directement une fonction de chocolat à partir de fraise.js sans passer par fruit, ça ne marchait pas. L'événement qui vient d'un élément de fruit.xul, ça roule, l'événement qui vient de fraise.xul, ça ne marche pas.

    Je ne sais pas si j'ai été très claire, mais le principal est que ça marche.
    Vive les glaces !!

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    je te conseillerais juste un truc :
    *

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script type='text/javascript' src="chrome://chocolat/content/chocolat.js"/>
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

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

Discussions similaires

  1. [PHP 5.3] [POO] Appel d'une méthode dans une méthode
    Par yann18 dans le forum Langage
    Réponses: 6
    Dernier message: 20/10/2011, 09h56
  2. POO Appel dynamique à une méthode d'un objet
    Par thecanea dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 16/02/2011, 11h58
  3. [POO] Appel d'une méthode dans une autre méthode
    Par lisa.a dans le forum Langage
    Réponses: 2
    Dernier message: 21/02/2010, 16h42
  4. Appel d'une méthode d'un autre Thread
    Par DjDavOnline dans le forum Threads & Processus
    Réponses: 4
    Dernier message: 13/02/2009, 18h22
  5. Réponses: 3
    Dernier message: 29/04/2008, 14h14

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