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

API standards et tierces Java Discussion :

Passage de tableaux generiques en parametre pour l'appel de fonctions visual basic depuis java


Sujet :

API standards et tierces Java

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Passage de tableaux generiques en parametre pour l'appel de fonctions visual basic depuis java
    Bonjour a tous,
    Je suis actuellement en train de realiser une interface en java pour utiliser un logiciel complet ecrit lui en visual basic. Le probleme que je rencontre est je pense assez precis puisque je ne trouve pas de solution sur le net. C'est pourquoi je m'en remets a vous les specialistes.
    Pb : Je dois passer en parametre l'equivalent java des array(array(array))) de visual basic. Les types des elements du tableaux peuvent etre n'importe lesquels (String, boolean, double,...).
    J'espere avoir ete assez clair.
    Merci d'avance pour votre aide

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    non, du tout.

    Passer comment, quoi, pourquoi, dans quel contexte. Tu dois appeler du code visual basic? Tu transcrit du code? Peux tu nous donner un exemple concret?

    Tu peux très bien faire une méthode prenant en paramètre un Object[][][], mais c'est très moche d'avoir des données aussi peu structurées

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Mon probleme vient de la structure speciale des tableaux en visual basic.
    J'utilise un composant activeX qui lui meme se sert de dll (COM) pour appeler les methodes dont je ne connais le code mais la seule specification exemple :
    pour la methode create report (dont l'appel marche depuis java), j'ai la specification qui me dit : telle parametre est de ce type par exemple array(String,array(String)).
    Voici alors mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        @Override
        //ok
        public void createReport(String reportName,String reportType, String displayType, String solutionName, Object[] contextArray, Object[]familiesArray, Object[] reportDataArray,Object[] finalArray) throws HfssException{
        	try {
                ActiveXComponent.call(module, "CreateReport", reportName,reportType,displayType,solutionName,contextArray,familiesArray,reportDataArray, finalArray); //$NON-NLS-1$
            } catch (Exception e) {
                e.printStackTrace();
                throw new HfssException(e.getMessage());
            }
        }
    et mon test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     ReportEditorModule reporterEditModule = design.GetModule(new ReportEditorModule(null));
                System.out.println(reporterEditModule.getModuleName());
     
                //create Report
        		Object[] var1 = {"X:=",new String[]{"All"}};
        		Object[] var2 = {"X Component:=","X","Y Component:=",new String[]{"re(Mode(1))"}};
                reporterEditModule.createReport("XY Plot 1","Eigenmode Parameters", "Rectangular Plot", "Setup1 : LastAdaptive", new Object[]{},var1,var2,new Object[]{});
    Ceci marche, dans la mesure ou ce n'est qu'un array(...,array(...)).

    Pour d'autres fonctions, je dois passer en parametre l'equivqlent java de array(String, int, array(String, int ,array(...))) par exemple mais je ne sais pas pourquoi ca ne marche pas.

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    Si je suis ta logique, je suppose qu'on arrive à quelque chose comme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     new Object[]{unString, unInteger, new Object[]{unString, unInteger ,new Object[]{autresChoses}}}

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Croyez moi, j'ai deja essaye ca mais ca ne marche pas. C'est tout mon probleme ! Peut etre qu'en regardant la representation memoire des structures array en visual basic, je pourrais voir une solution.
    En tous cas, merci pour tes reponses rapides

Discussions similaires

  1. [XL-2003] Conserver le nom de l'appli courante pour l'appel des fonctions
    Par comme de bien entendu dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 26/06/2011, 17h31
  2. Réponses: 5
    Dernier message: 10/12/2007, 03h02
  3. Réponses: 2
    Dernier message: 23/11/2007, 09h27
  4. Réponses: 2
    Dernier message: 20/09/2006, 14h38
  5. Réponses: 4
    Dernier message: 23/11/2005, 09h27

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