Re: question de Cpp et signaux

Startseite

Nachricht beantworten
Autor: Gauthier DELERCE
Datum:  
To: ML Guilde
Betreff: Re: question de Cpp et signaux
Bonjour Frederic et merci pour ta reponse,

J'utilise effectivement Qt, d'ou la notion de signal/slot
je vais regarder du cote des singletons aussi, en fait j'ai evacuer le
probleme en utilisant une classe globale qt ; une fonction de cette
derniere est appellee par la fonction qui gere les interruptions et
ensuite la connection avec un slot d'une instance interne est aisee.

Je pense que la classe externe n'est pas necessaire mais je ne sais pas
comment passer l'info(une variable) efficacement avec les signaux de linux.

Voila, je te souhaite une bonne journee et te remercie ton message.

Gauthier


Frederic Mantegazza wrote:

>Le samedi 1 Mai 2004 20:37, Gauthier DELERCE a écrit :
>
>
>
>>*******
>>void fct1(pvoid data) //une fonction globale qui gere des interruptions
>>{
>>
>>if(interruptionSympa) executer_une_methode_de_objet1
>>
>>}
>>
>>int main
>>{
>>Class1 objet1
>>}
>>*******
>>
>>Mon but est qu'a chaque interruption interessante je puisse executer une
>>methode de objet1, cela devrait pouvoir se faire par des signaux/slots
>>mais je ne peux/sais pas connecter un slot de objet1 avec un signal emis
>>en dehors du main.
>>
>>
>
>Peux-tu nous en dire un peu plus ? Tu parles de signaux/slots...
>Developpes-tu sous Qt (ou autre toolkit graphique utilisant cette
>technique) ?
>
>Une solution consite a creer un manager (un singleton) qui gere ton (ou tes)
>objet(s) a appeler. Ici, il n'y aurait que objet1. Cet objet serait
>enregistre dans le manager, juste apres sa creation (dans le main()).
>
>Ensuite, dans ta fonction d'IT, tu utilises le manager pour retrouver ton
>instance objet1, et tu appelles la methode qui va bien.
>
>L'interface de ton manager serait simple (je passe sous silence la
>definition du singleton; je te laisse chercher sur google):
>
>class Manager {
>
>    void add(name, char*);
>    char* get(name);
>    void del(name);
>}

>
>La variable 'name' est juste la pour retrouver le(s) objet(s) dans le
>manager.
>
>
>