ActiveX pour VB en Java (dll??)

Résolu
MoOx_t Messages postés 16 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 2 mai 2006 - 21 avril 2006 à 17:31
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 23 avril 2006 à 21:57
Bonjour à tous.
Je suis en stage en ce moment dans une grosse boîte (EADS ) et on me demande de réaliser un activeXen Java à utiliser dans du VB .
Précisions :
L'application su laquelle je travaille est décomposé en plusieurs ActiveX VisualBasic
Mes "chefs" veulent pouvoir à long terme porter toute leur jolie interface VB en Java...mais veulent pas tous faire d'un coup!

Du coup on me demande de voir comment faire pour créer un activeX en java (un dll selon mes "chefs") et créer directement un dll à partir d'une classe Java.
D'apèrs mes connaissances et mon bon sens, je sais que c'est pas possible (du moins j'men doute très très fort vu que dll c'est Windows et que Java est Multiplatforme) . A moins que...

J'espère qu'il y a un moyen, une feinte pour pouvoir à partir d'un programme VB faire appel à un bout de programme Java (un activeX).
Remarque : je parle beuacoup d'activeX sans vraiment savoir ce que c'est !

Merci a tous de me donner des pistes (ne serais-ce que quelques mots clés ) !!!

8 réponses

Twinuts Messages postés 5373 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 10 août 2022 111
23 avril 2006 à 21:56
Salut,



Le mieux et le plus simple est de faire l'inverse soit de faire appel a
du code C en java sinon cherche sur le site de sun le source invoke.c
qui montre comment faire appel a du code java en C/C++ en bref pour
plus d'info regarde du coté du JNI

WORA
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
21 avril 2006 à 18:32
Venant tout droit de VBFrance, et développant régulièrement des ocx (contrôle activeX) et des dll ActiveX, j'aurais beaucoup de mal à m'imaginer comment cela pourrait-être possible :
ActiveX est une technologie microsoft très ancienne. Le principal langage pour les développer n'est autre que VB, bien qu'il soit possible d'en faire en C++, cela est beaucoup plus dur à faire en C++, et au final, on n'y gagne pas grand chose en rapidité (d'après mon expérience, on y gagne de l'ordre de 5 à 10 %).
Les dll ActiveX ne sont pas de véritables dll, il s'agit de classes qui possèdent un ID (le fameux CLSID) qui doivent être enregistrées dans le registre afin de pouvoir les utiliser.
Du coup, les activeX sont très dépendants de Windows, et je serais curieux de comprendre le raisonnement qu'ont pu avoir tes patrons pour te demander une telle chose ! La machine virtuelle Java étant bien plus lourde que la librairie de VB6 !!!

_
Avant de poster dans le forum,
prière d'aller lire ceci :
http://www.codes-sources.com/reglement.aspx
<s></s>
0
Twinuts Messages postés 5373 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 10 août 2022 111
21 avril 2006 à 19:25
Salut,



tu peux feinter ton problème avec un socket(client serveur), un pipe ou
encore avec du JNI(Java Natif Interface)mais bon c'est quand meme faire
une usine à charbon pour si peut

WORA
0
kaloway Messages postés 358 Date d'inscription jeudi 24 octobre 2002 Statut Membre Dernière intervention 13 avril 2020
21 avril 2006 à 22:24
d'abord, il faudrait savoir à quoi servent ses activex? quelles ressouces mettent elles en fonction?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
MoOx_t Messages postés 16 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 2 mai 2006
22 avril 2006 à 13:38
Rebonjour et merci de vos réponses!
Pour répondre sur l'utilité des ces ActiveXs, ils servent principalement à traiter des données aux format XML!
Sinon la raison de cette usine à gaz c'est que l'application étant très grosse (en gros truc de gestion de satellites enfin bref genre d'interface qu'on peut pas tout refaire d'un coup!)
Mes chefs auraient souhaitaient pour remplacer ces activex petit à petit (en faite les différentes fenêtres de l'application sont toutes des activex différentes).

Bref si c'est la merde je vais leur en faire part et puis comme ça jme prendrais pô la tête !!

Je savais bien qu'ils me demandaient de la "merde" mais bon j'demandais au cas où !
0
Twinuts Messages postés 5373 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 10 août 2022 111
22 avril 2006 à 14:40
Salut,



nan c'est pas la merde mais bon tu vas rajouter de la complexitée à
l'application puis de plus en plus et au final qd tu vas passer
completement en java tu vas devoir faire le menage sans supprimer des
choses critique.



Bref, de plus a mon avis si cette appli doit fonctionner sous win
uniquement il est ptetre preferable de la faire en C# plustot qu'en
java, c'est aussi simple que java mais sans portabilitée du code source
ni du code compilé :



exemple sous crosoft l'espace de nom des fenetres c'est xxxx.window et
sous linux c'est xxxx.gtk (je met des xxxx pasque je ne sais plus si il
y a des choses devant :P)





deplus en C# tu as plus de souplesse qu'en java pour communiquer avec win.





WORA
0
MoOx_t Messages postés 16 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 2 mai 2006
23 avril 2006 à 21:18
Merci du conseil mais le but de porté cette aplli en java c'était justement (à la fin bien sur) de pouvoir rendre cette aplli portable sur linux... enfin bref... Comme je vois jme complique la vie^(enfin pas moi )
Merci quand même de vos coups de mains !

Remarque ... javais entendu parlé d'utiliser des actives en passant par du C qui lui ferait appel a du code java... mais bon la misère apparement !
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
23 avril 2006 à 21:57
Tant que ca reste de l'ActiveX, au revoir la compatibilité Linux !

_
Avant de poster dans le forum,
prière d'aller lire ceci :
http://www.codes-sources.com/reglement.aspx
<s></s>
0