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

Entrée/Sortie Java Discussion :

[JACOB] Comment passer un objet par référence à une méthode


Sujet :

Entrée/Sortie Java

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2004
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 30
    Points : 20
    Points
    20
    Par défaut [JACOB] Comment passer un objet par référence à une méthode
    Bonjour,

    je tente de poser ma question ici, j'ai déjà essayer sur le forum de Jacob sans succès.

    Voilà j'utilise le pont java/com Jacob http://sourceforge.net/projects/jacob-project/ pour faire des appels à des méthodes d'objets com.

    J'utilise la méthode call pour lancer ces méthodes et cela marche.

    Mais maintenant je dois appeler des méthodes en passant mes paramètres par références puis récupérés leurs valeurs.

    La méthode dans mon api COM est du type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getPoint(id As String, ByRef pointX, pointY)
    Quelqu'un saurait-il comment passé mes paramètre par référence pour récupérer la valeur modifiée?

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 52
    Points : 52
    Points
    52
    Par défaut
    T'occupe.
    Passe tes paramètres, tu verras que tu récupères par la suite tes objets.

    Sinon, pour information, il n'existe pas de passage de paramètres par références en Java. (Pardon si je choque quelques un(e)s )
    Même s'il est vrai qu'en java on manipule des références, on ne passe des paramètres aux méthodes que par valeur !!!!
    Dans la signature suivante,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     public void method(Point pt,String st);
    pt et st sont respectivement la valeur d'une copie de la référence à un objet de type Point ( et la valeur d'une copie de la référence à un String).

    Tu peux donc retrouver ton objet pt et ton objet st au sortir de ta methode method si et seulement si tu ne change pas la valeur de la référence pt à l'intérieur de la méthode method; c'est à dire si tu ne fais pas par exemple pt=pt2 où pt2 est un autre Point; de même pour st.

    Par contre tu peux appeler des methodes de tes objets pt et st pour en modifier les caractéristiques.
    C'est à dire que tu peux faire, à l'intérieur de .
    st.trim(); ou st.toto(); et retrouver ton objet st au sortir de la méthode.
    Je ne sais pas si j'ai été clair

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2004
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 30
    Points : 20
    Points
    20
    Par défaut
    Le problème n'est pas le passage par valeur ou par référence en java, mon problème est plus porté sur Jacob lui meme, en fait je passe mes parametres à la méthode d'appel à la fonction COM. Jacob se charge de faire l'appel, mais si je regarde la valeur de mon objet passé en paramètre après l'appel à ma fonction COM elle n'a pas changé, alors que cette fonction COM demande un passage de paramètre par référence (COM =Microsoft .... les byref de VB)

  4. #4
    Membre à l'essai
    Inscrit en
    Mars 2004
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 30
    Points : 20
    Points
    20
    Par défaut
    je remonte le sujet ... personne n'a d'idée ?

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2004
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 30
    Points : 20
    Points
    20
    Par défaut Solution
    On dirait qu'il suffit que je remonte le sujet pour trouver solution à mon problème

    Donc pour passer des paramètre en référence via Jacob il suffit de créer l'objet à passer en paramètre, le mettre dans un variant avec le deuxieme paramèttre à true et il ne reste plus qu'a recupérer.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Object obj = new Double(0.0);
    Variant v = new Variant(o1, true);
     
    Dispatch.call(this, "MéthodeAappeler", v);
     
    System.out.println("La valeur retourné par réféernce vaut " + x.toDouble());

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/04/2013, 21h20
  2. Réponses: 9
    Dernier message: 09/12/2010, 16h33
  3. Réponses: 5
    Dernier message: 12/05/2009, 16h24
  4. Comment faire passer un menu par dessus une autre frame
    Par barthelv dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/11/2005, 11h03

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