Bonjour,
Je recherche une api java qui me permettrait de communiquer avec des activex...
En connaissez vous en cherchant sur le net je n'ai rien trouvé de précis...
Merci
Version imprimable
Bonjour,
Je recherche une api java qui me permettrait de communiquer avec des activex...
En connaissez vous en cherchant sur le net je n'ai rien trouvé de précis...
Merci
bonjour,
oui, tu peux aller voir oleautomation basé sur le projet JACOB. Je l'ai testé et ca fonctionne bien.
Merci, as tu des exemples à me montrer?
bonjour,
J'ai mieux qu'un exemple il est fourni un tuto vidéo très complet :
http://sourceforge.net/projects/olea...5.zip/download
tres complet effectivement,
Dans mon cas j'ai un activex qui s'apelle toto.dll , comment je fais pour communiquer avec?
bonjour,
La dll doit etre dans le "library path" (soit dans le répertoire system de ton windows, ou definit dans java.library.path)
Normalement, en suivant le tuto tu as toute les autres étapes.
Tu définis une interface :
C'est le @OleInterface qui permet de trouver l'activeX :
ensuite tu définis toutes les API que tu souhaites appeler sur l'activeX.Code:
1
2 @OleInterface(name="MaDll.MaClass")
ok, merci , d'apres le tuto il faut avoir java 1.5 comme compiler , mais mon projet est en version 1.4 ya t-il nue version antérieur de oleautomation?
Effectivement oleAutomation est en 1.5 car il utilise les annotations (@OleInterface)
Ton projet doit obligatoirement rester en 1.4 ?
ouai c'est un gros projet et impossible d'upgrader à 1.5 comme cela...
ok alors tu as deux possibilités :
- Modifier OleAutomation pour éviter l'utilisation des annotations
- Utiliser directement JACOB
OleAutomation utilise JACOB. C'est un peu moins pratique d'utiliser directement JACOB, mais cela reste quand même bien plus simple que de passer par JNI.
Bonjour,
je me suis mis à une version de jacoob qui supporte java 1.4, je fais alors
Mais j'ai une erreur jacoobCode:AciveXComponent x1 = new AciveXComponent ("c:\\Programe files\\...\\Ma.dll");
J'ai alors fait un enregistrement de ma dll avec Regsvr32 Ma.dll qui a fonctionné (message de confirmation)Citation:
can't file moniker
j'ai modifié le code en
et là , j'ai l'erreurCode:AciveXComponent x1 = new AciveXComponent ("Ma.dll");
Que signifie cette erreur?Citation:
can't get object clsid from progid
Merci
j'ai finalement reussi !!
Maintenant pour appelelr la méthode open() de mon activeX , je dois au préalable donner des parametres , en windev ces para metes sont
Comment les passer avec JacobCode:
1
2 loggable>>username = login loggable>>userpwd = pwd
si je fais
j'ai l'erreurCode:Dispatch.set(activex,"loggable.username",login);
Citation:
can't map todspid : username
J'ajoute une précision pour qu'on puisse m'aider,
L'objet issu de l'instanciation de l'activeX est doté d'une propriété Loggable() comportant
deux propriétés (UserName et UserPwd).
Mais je ne sais pas comment avec jaco b accéder à une propirété d'une propriété...
Bon et bien j'ai réussi a faire ce que je voulais mais j'ai utilisé jawin qui est bien plus documenté, je conseille donc jawin plutoy que jacob