Envoyé par : hhf
Date : 13/11/2008 20:45
Après beaucoup de tâtonnements, j'ai enfin réussi a faire mon premier XPCom, avec l'aide d'un pote cale en C++ je reconnais... Néanmoins ca marche, suffit de créer un répertoire components a la racine de son XPI, d'y mettre la dll et le xpt, et voila, je peux utiliser mon composant dans mon XPI. Formidable...
Maintenant, j'ai un autre probleme, je veux dans ce composant utliser une librairie tierce, je declare donc la lib dans les lib necessaire a la compile, et rajoute le #include "malib.h" dans moncomposant.cpp
Enfin je code l'implémentation de ma fonction qui appelle les fonctions de la lib tierce.
Je compile... ras
mais a l'exécution..., j'ai le même problème que batman14 a savoir :
code d'erreur 0x80570015 correspondant à NS_ERROR_XPC_CI_FAILED lors de la création en javascript de l'instance du component (createInstance).
Il n'arrivait pas a utiliser une DLL externe. bon moi pour le coup, c'est une lib, donc static mais bon...
le post original : http://xulfr.org/forums/read.php?5,8865
Ca m'embête un peu, car j'ai vendu a mon taf que a se faisait assez facilement... déjà 2 jours... aie aie aie
Merci de vos réponse. Je précise que je suis sous windows vc++ 2005, mais je suis preneur des lignes de compilation unix si vous pensez que ca vienne de la.
Envoyé par : hhf
Date : 14/11/2008 21:55
Bon, comme personne ne me reponds, je me repond a moi meme.
Alors en fait le probleme viens de la dll tierce, autant thunderbird, trouve le xpcom dans le repertoire components de mon extention, autant, il ne trouve pas la dll tierce.
Solution de brute en attendant une solution plus esthétique et durant le développement, mettre la librairie terce dans le rep de thunderbird.
Après consultation de quelques experts C++ unix (pas XPCom) on me dit que le problème sera identique avec les .so donc amis linuxien ou windowsien, comment fait on proprement
Un loadLibrarie on me dit que c'est un peu relou Un script d'install de mon XPI qui copie la dll dans le rep de thunderbird ? Une commande pour rajouter le chemin de mon extention dans le path de recherche des librairies ???
Merci d'avance
Envoyé par : Paul Rouget
Date : 16/11/2008 02:37
J'ai pas de solution (excepté le coup de mettre la lib dans le rep du logiciel).
Mais en général, ta lib est installée sur le system.
Si ce n'est pas le cas, embarque simplement ta lib dans la tienne (statique, pas de .so, mais un .a).
Envoyé par : hhf
Date : 16/11/2008 14:45
ben, oui, bien sur, mais le PB, c'est que c'est pas un ".a" ou un ".lib", mais une dll, soit l'equivalent d'un ".so" pour unix.
Mais je suis persuade qu'il y a une autre solution. Pour le script d'install qu'en penses tu, ya un tuto pour ca ? ya pas moyen de dire a thunderbird de chercher dans le rep de mon xpi ?
Il n'est plus possible de poster des messages dans ce forum.
Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.
Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™
sont des marques de la fondation Mozilla.