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

Eclipse Platform Discussion :

Appel de méthode d'un OleAutomation avec un paramètre complexe comme Variant


Sujet :

Eclipse Platform

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 8
    Par défaut Appel de méthode d'un OleAutomation avec un paramètre complexe comme Variant
    Bonjour à tous,

    j'essaye d'appeler via la méthode org.eclipse.swt.ole.win32.invoke une méthode exposée par un objet de type org.eclipse.swt.ole.win32.OleAutomation et prenant en paramètre un objet de type complexe.

    Or, la méthode invoke prend en argument un tableau de Variant, et ces objets de type Variant semble ne pouvoir contenir que des types simples (String, int, etc.).

    J'ai trouvé sur le net une société qui vend des librairies qui semblent répondre à ce problème : http://j-integra.intrinsyc.com/suppo.../Dispatch.html

    Savez-vous si c'est possible de le faire en n'utilisant les packages déjà contenus par Eclipse RCP, ou s'il y a un moyen de contournement?

    Merci d'avance

    franpeti

  2. #2
    Membre chevronné

    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Juin 2004
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en technologies

    Informations forums :
    Inscription : Juin 2004
    Messages : 332
    Par défaut
    Ca a l'air assez casse-c**** mais tu peux faire des Variant de type "BYREF"

    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
    /**
     * Create a Variant object which contains a reference to the data being transferred.
     *
     * <p>When creating a VT_BYREF Variant, you must give the full Variant type 
     * including VT_BYREF such as
     * 
     * <pre><code>short byRefType = OLE.VT_BSTR | OLE.VT_BYREF</code></pre>.
     *
     * @param ptr a pointer to the data being transferred.
     * @param byRefType the type of the data being transferred such as OLE.VT_BSTR | OLE.VT_BYREF
     *
     */
    public Variant(int /*long*/ ptr, short byRefType) {
        type = byRefType;
        byRefPtr = ptr;
    }
    Voir ce snippet pour l'utilisation http://dev.eclipse.org/viewcvs/index...&revision=HEAD

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 8
    Par défaut
    Merci pour l'info, je teste ça

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/03/2010, 01h14
  2. Réponses: 9
    Dernier message: 08/12/2009, 16h03
  3. appeler une méthode avec paramètre dans une page JSP
    Par javasmif dans le forum Struts 2
    Réponses: 1
    Dernier message: 06/12/2007, 10h48
  4. Travailler avec des paramètres complexes
    Par qveenz dans le forum Bases de données
    Réponses: 2
    Dernier message: 13/11/2007, 11h16
  5. Appeler une méthode lors d'un ENTER avec javascript
    Par shirya dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 22/01/2007, 21h32

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