Attention : Le contenu de ces pages n'a pas été mis à jour depuis longtemps. Il est probablement obsolète pour Firefox 4.0/Gecko 4.0 et supérieur. Pour du contenu plus récent, allez consulter developer.mozilla.org.

Epeios org

(Mon pseudo. vient du nom du site du projet que je gère, http://zeusw.org/epeios/).

NOTA : j'ai mis en place mon propre wiki qui, bien qu'il porte sur un autre sujet que ce wiki-ci, comporte une section abordant différents aspects de XPCOM. Les informations ci-dessous y sont reprises et complétées. Je laisse le soin à l'auteur de ce site, soit de mettre un ou des liens sur mon propre wiki, soit de complèter les informations de son propre wiki avec ceux du mien, dans le respect de le license sous laquelle ils sont diffusés bien sûr. Le lien sur la partie de mon wiki portant sur XPCOM :

http://zeusw.org/epeios/other/gecko/xpco(..)

Je suis en train d'évaluer XUL pour un projet sur lequel je travaille. J'aurais besoin d'attaquer des composants externes et vais donc utiliser XPCOM, donc tenter de compiler un tel composant, sous Windows. Comme la documentation sur le sujet est incomplète, je vais utitliser cette page pur rendre compte de cette tentative avant d'en faire la synthèse pour complèter la documentation sur la page originale.

Récupération du SDK Gecko.

J'ai récupéré ce qui me semble être la dernière version stable du SDK gecko sur :

http://ftp.mozilla.org/pub/mozilla.org/m(..)

En substance, il s'agit du fichier

 gecko-sdk-i586-pc-msvc-1.7.5.zip

Installation du SDK Gecko.

Cela consiste simplement à dezipper le fichier en un endroit qulconque de votre disque dur. Néanmoins, lorsque l'on tente de lancer xpidl.exe, il réclame une libIDL-0.6.dll, que j'ai trouvée à l'adresse :

http://ftp.mozilla.org/pub/mozilla.org/m(..)

Cette fois-ci, xpidl.exe réclame glib-1.2.dll, mais vous la trouverez au même endroit. Les deux fichiers doivent être dézippés dans le répertoire bin.

Tous les exécutables du répertoire bin se lancent maintenant, sauf regxpcom.exe, mais peut-être n'en n'aura-t'on pas besoin ...

Mise en oeuvre du SDK Gecko dans Visual C++ 6.

Pour ce faire, j'ai suivi les indications données à :

http://www.mozilla.org/projects/xpcom/bo(..)

à ces quelques différences près :

  • Il n'y a plus qu'un seul répertoire à indiquer pour Additional include directories : le répertoire include situé dans le répertoire racine du SDK.
  • Concernant les interruptions, n'est-il pas possible de les utiliser quand même à condition de les intercepter avant qu'ils ne traversent l'interface ? A tester ...
  • Les bibliothèques (nspr4.lib, plds4.lib, ...) ne sont plus situées dans le répertoire bin, mais dans le répertoire lib.
  • Toujours en ce qui concerne les bibliothèques, j'ai préféré utiliser la commande Add Files to Project (n'oubliez pas de sélectionnez Library Files (.lib) comme type de fichier). Certaines bibliothèques manquaient, d'autres n'étaient pas citées. xpcom.lib paraît indispensable, pour ce qui est des autres, cela doit dépendre des fonctionnalités mise en oeuvres ...

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.