MoOx_t
Messages postés16Date d'inscriptionsamedi 9 octobre 2004StatutMembreDernière intervention 2 mai 2006
-
21 avril 2006 à 17:31
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDerniè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 ) !!!
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023111 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
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 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 !!!
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023111 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
MoOx_t
Messages postés16Date d'inscriptionsamedi 9 octobre 2004StatutMembreDerniè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ù !
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023111 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.
MoOx_t
Messages postés16Date d'inscriptionsamedi 9 octobre 2004StatutMembreDerniè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 !