Forums : XPCom

Aller à la discussion :  Plus récente Plus ancienne

# Wrapper une librairie statique QT dans un composant XPCOM ? (résolu)

Envoyé par : Paul_Xul

Date : 16/06/2006 13:01

Re-Bonjour,

J'ai une librairie de connection à un serveur développée avec la librairie QT de Trolltech (vers 4.1). Je souhaite réutiliser cette librairie pour pouvoir en appeler les fonctions à partir d'une interface XUL.

Comment vous-y prendriez-vous ?

A ce jour, j'ai essayé de compiler, sous MSVC++, un composant XPCOM qui en wrappe les fonctions (avec le Gecko SDK), mais il semble que la mécanique QT de signal/slot ne fonctionne plus quand elle est appelée depuis mon composant.

Des idées ?

# Re: Wrapper une librairie statique QT dans un composant XPCOM ?

Envoyé par : laurentj

Date : 16/06/2006 13:06

aucune idée..

Elle fait de l'affichage ta lib ? Si non, pourquoi utiliser alors qt ?

Ne pourrais-tu pas redevelopper en full XPCOM, et profiter alors des mécanismes de thread et socket de Mozilla ? Sachant que dans Mozilla, il y a tout pour faire de la communication réseau/socket en asynchrone...

# Re: Wrapper une librairie statique QT dans un composant XPCOM ?

Envoyé par : Paul_Xul

Date : 16/06/2006 13:10

Elle fait des connections réseau à un serveur qui lui exécute des traitements. Le truc c'est que la librairie existe déjà, est testée et fonctionne très bien.

Je préfère essayer de réutiliser des recettes qui fonctionnent plutôt que de recommencer à partir de zéro. (en plus ce n'est pas moi qui ai développé la librairie en question :( )

Tu aurais des idées ?

# Re: Wrapper une librairie statique QT dans un composant XPCOM ?

Envoyé par : Paul Rouget

Date : 16/06/2006 18:51

Quelle est exactement ton erreur ? Parce que je ne vois pas ce qui, théoriquement, pourrait poser problème.

# Re: Wrapper une librairie statique QT dans un composant XPCOM ?

Envoyé par : Paul_Xul

Date : 17/06/2006 18:25

désolé, mon message n'était pas si clair, mais il y avait en effet une petite finesse de design dans mon système.

En fait la logique interne de QT demande, pour certains asynchrones (QTcpSocket entre autres), d'avoir explicitement un event loop QT. Dans le cas d'un composant XPCOM, cet event loop n'était pas lancé. Pour avoir un event loop QT dans mon composant, j'instancie maintenant un QThread (qui a un event loop à lui) et qui implémente ma librairie.

Ouf ;)

(reste plus qu'à récupérer les messages renvoyés du serveur)

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.