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

C# Discussion :

Interop C# - Java via Com4j


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 4
    Par défaut Interop C# - Java via Com4j
    Bonjour,
    voilà le problème, je génère avec Com4j d'un fichier projet.tlb des interfaces Java qui me permettent d'utiliser ma projet.dll en .Net depuis Java.
    Cependant les listes typées, List<ICard> ou IList<t> de mes classes .Net, ne sont pas reconnues pas Com4j!

    (Si je défini des Listes non typées, alors ce sont des listes d'object que je reçois, et le Cast coté appli java ensuite est impossible...)

    Voilou, une aide serait la bienvenue, je stop sur ça depuis super longtemps!!!
    Merci
    M

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 487
    Par défaut
    Je ne connais aucun des outils employés mais COM ne connait pas le concept de générique ni de template, il sera donc, je pense très compliqué de faire passer ce type d'objet (List<> etc.) dans java via COM.

    Ne pouvez-vous pas encapsuler les types génériques par des types non génériques, au niveau de l'interface .NET-JAVA ?

    Je ne pense pas que vous ayez besoin d’un type générique dans cette interface mais plus d’une "instanciation" d’un type générique. Vous n’aurais donc pas de pertes fonctionnelles mais une certaine lourdeur d’écriture.

    Vous n’avez qu’à remplacer les "List<toto>" en ListToto qui ne sera qu’un simple wrapper au dessus de "List<toto>".

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 4
    Par défaut
    Merci pour votre réponse,

    Je peux définir une IList non typée qui encapsule ma list<T>, mais une fois coté java je ne peux pas utiliser les propriétés et méthodes de ma classe T, car le Cast est refusé sur mon comObject qui est de class Com4j.Wrapper.

    Pour information, j'utilise pour générer mes .java depuis le .tlb , tlbimp : java -jar tlbimp.jar -o output -p nomDossier "D:\projet.tlb"

    Une autre piste peut-être?

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 4
    Par défaut
    bon, après plus de repos, je ne sais pas si c'est ce que tu pensais mais je me suis tournée vers une solution plutôt simple, une englobalisation, mais a maintenir moins cool, et niveau perf je sais pas...:
    Je remplace ma list <T> par une classe qui possède cette liste en private, et des méthodes qui intèragissent avec, méthodes visibles en COM... et par mon générateur de fichier .java,
    et ça marche...

  5. #5
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 487
    Par défaut
    C'était bien ça.

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

Discussions similaires

  1. liste typée via com4j, interop java - c#
    Par Marcela dans le forum Général Java
    Réponses: 0
    Dernier message: 23/10/2009, 10h53
  2. installer jeux java via bluetooth sur samsung
    Par bil_home dans le forum Java ME
    Réponses: 7
    Dernier message: 26/02/2007, 14h55
  3. Envoyer zip (java) vias httpRequest
    Par Tail dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 23/10/2006, 21h58
  4. Connexion Firebird 1.5 depuis Java via JDBC
    Par rprom1 dans le forum Connexion aux bases de données
    Réponses: 2
    Dernier message: 04/04/2006, 11h29
  5. Compiler du code Java via Java
    Par sozie9372 dans le forum Langage
    Réponses: 2
    Dernier message: 12/01/2006, 10h14

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