ActiveX pour VB en Java (dll??) [Résolu]

Messages postés
16
Date d'inscription
samedi 9 octobre 2004
Statut
Membre
Dernière intervention
2 mai 2006
- - Dernière réponse : cs_DARKSIDIOUS
Messages postés
15815
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
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 ) !!!
Afficher la suite 

8 réponses

Meilleure réponse
Messages postés
5340
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
3 septembre 2019
87
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 6008 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Twinuts
Messages postés
15815
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
83
0
Merci
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>
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
5340
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
3 septembre 2019
87
0
Merci
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
Commenter la réponse de Twinuts
Messages postés
357
Date d'inscription
jeudi 24 octobre 2002
Statut
Membre
Dernière intervention
30 mars 2011
0
Merci
d'abord, il faudrait savoir à quoi servent ses activex? quelles ressouces mettent elles en fonction?
Commenter la réponse de kaloway
Messages postés
16
Date d'inscription
samedi 9 octobre 2004
Statut
Membre
Dernière intervention
2 mai 2006
0
Merci
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ù !
Commenter la réponse de MoOx_t
Messages postés
5340
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
3 septembre 2019
87
0
Merci
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
Commenter la réponse de Twinuts
Messages postés
16
Date d'inscription
samedi 9 octobre 2004
Statut
Membre
Dernière intervention
2 mai 2006
0
Merci
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 !
Commenter la réponse de MoOx_t
Messages postés
15815
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
83
0
Merci
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>
Commenter la réponse de cs_DARKSIDIOUS