Forums : XPCom

Aller à la discussion :  Plus ancienne

# Quid de regxpcom ?

Envoyé par : Dev44

Date : 13/06/2012 11:45

Bonjour Jusqu'à present je developpais des applications en HTML et C++ (sous Windows) L'interface utilisateur était en HTML, plus exactement elle tourne localement sur un PC en ".HTA" et les aspects plus techniques en C++ sous forme de composants des ATLs chez microsoft qui sont en fait des dlls avec des points d'entrée enegistrés dans le systeme. Je comptais faire la meme chose en XUL, avec xulrunner ; et C++ pour les composants XPCOM.

Ma question est la suivante : Pourquoi à partir d'une certaine version du xulrunner on ne trouve plus regxpcom qui permetait d'enregistrer les XPCOM sous windows ? En clair, comment fait-on, par exemple avec une version 12 de xulrunner, pour construire et enregistrer des XPCOMs puisque les outils qui le permettaient n'existent plus ? Toutes les infos que j'ai trouvé pour la creation de XPCOMs font toutes references à d'anciennes versions de xulrunner ; avec xpidl.exe ; regxpcom.exe aucune avec une version recente de xulrunner.


Dans la version 12 de xulrunner ; xpidl est en python ! Faut-il un interpreteur python ?

Merci de vos réponses :)

# Re: Quid de regxpcom ?

Envoyé par : Joffrey-devel

Date : 04/07/2012 11:20

Pardon d'avoir tardé avant d'émettre une réponse, je tâcherai d'être un peu plus actif par ici dorénavant. (même si je ne l'ai jamais vraiment été auparavant :D )

Bon, tout d'abord je t'invite à prendre connaissance des sources du XPCOM C++ générique, facilement consultable au moyen du navigateur internet :

http://mxr.mozilla.org/mozilla-central/s(..)

Tu te rendras compte que la méthode d'enregistrement du XPCOM (qui figure en bas du fichier) a quelque peu évolué.

Ensuite, je peux te proposer le script que j'ai réalisé afin d'effectuer une sortie, sous la forme d'un header .h, de l'interface issue de ton .idl. J'établis un script au suffixe .sh qui sera ensuite exécuté depuis la console issue du projet mozilla build:

ABSPATH=$(dirname $0)
XR_SDK=/c/mozilla-central/objdir-mswin32-xulrunner-release/dist/ #xul runner SDK

cd $ABSPATH

if [[ -d ./mon_composant/temp/ ]]; then
rm -rf ./mon_composant/temp/
fi

mkdir -p ./mon_composant/temp/
mkdir -p ./mon_composant/temp/cachedir/
cd ./mon_composant/temp/

$XR_SDK/sdk/bin/header.py -I"$XR_SDK/idl" \
--cachedir=./cachedir/ -o nsIMonComposant.h \
../nsIMonComposant.idl

Logiquement lors de la compilation, le composant est ajouté au manifest si ta compilation repose sur une appli xulrunner complète.

Sans doute mes explications manqueront de clarté, mais voilà ma contribution.

edit Sous mswin, il faut s'assurer de bénéficier de la panoplie d'outils mozilla intitulée "MozillaBuild" afin de travailler correctement avec xulRunner : http://ftp.mozilla.org/pub/mozilla.org/m(..)

Windows_Build_Prerequisites

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.