marcela2804
Messages postés4Date d'inscriptionmardi 18 août 2009StatutMembreDernière intervention23 octobre 2009
-
23 oct. 2009 à 10:49
Arto_8000
Messages postés1044Date d'inscriptionlundi 7 mars 2005StatutMembreDernière intervention13 juillet 2010
-
24 oct. 2009 à 02:01
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 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
Arto_8000
Messages postés1044Date d'inscriptionlundi 7 mars 2005StatutMembreDernière intervention13 juillet 20107 23 oct. 2009 à 15:26
Tu ne peux pas casté un List d'objet en une liste d'un autre type, mais rien ne t'empêche de garder ta liste comme elle est et de faire seulement le cast quand tu vas récupérer un élément de ta liste.
Arto_8000
Messages postés1044Date d'inscriptionlundi 7 mars 2005StatutMembreDernière intervention13 juillet 20107 24 oct. 2009 à 02:01
À la limite ce qui peut envisager comme solution c'est de carrément refaire ta liste à partir de l'autre. Tu aurais alors à utiliser les méthodes qui sont présentes dans tes classes de liste pour avoir accès à la liste et la reconstruire dans un autre objet.
En gros, tu ferais quelque chose comme ça :
List<Object> lstList = ...
IList<Object> lstIList = new IList<Object>();
Iterator<Object> it = lstList.iterator();
while (it.hasNext()) {
lstIList.add(it.next()):
}
Et le principe inverse s'appliquerait pour le retransposer en un objet List. C'est pas tout à fait l'idéal comme solution, mais ça devrait fonctionner.