C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Problème avec la fonction connect()

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French)
View previous topic :: View next topic  
Author Message
Vincent Derrien
Guest





PostPosted: Tue Jan 04, 2005 4:30 pm    Post subject: Problème avec la fonction connect() Reply with quote



Je suis donc sous Linux avec une librairie QT.
Un de mes fichiers comprend un constructeur où est défini une méthode de
la façon suivante:

Code:
IntVector -> typedef QvalueVector<int>

public slots:
void mamethode (int, IntVector*);

Dans mon code j'ai juste ça sur cette méthode :
connect (news_tree_list, SIGNAL (nodeEntered (int, IntVector*)), this,
SLOT (mamethode(int, IntVector*));


L'appel de la méthode se fait donc par :
mamethode(int , IntVector*)


J'ai besoin d'initialisé les paramètres de cette méthode lorsque
l'instance de classe est créée. La première instance tout se passe bien.
Ensuite je quitte le module et je détruis cette instance de classe.

Lorsque je crée la deuxième instance de classe, mes paramètres n'ont pas
les mêmes valeurs que la première fois.

Ces types doivent désigner implicitement des variables, non?

Je ne connais pas cette façon de déclarer et d'utiliser de telles méthodes.

Ma question est donc comment manipuler les paramètres de ctte méthode
sachant que il n'y a rien comme:
mamethod (int monentier, IntVector monvecteur)


Merci pour vos réponses et j'espère avoir été le plus clair possible.
Back to top
drkm
Guest





PostPosted: Tue Jan 04, 2005 5:15 pm    Post subject: Re: Problème avec la fonction connect() Reply with quote



Vincent Derrien <vincent (AT) ahoup (DOT) net> writes:

Quote:
Code:
IntVector -> typedef QvalueVector
public slots:
void mamethode (int, IntVector*);

C'est du C++, ça ?

--drkm

Back to top
Vincent Derrien
Guest





PostPosted: Tue Jan 04, 2005 6:17 pm    Post subject: Re: Problème avec la fonction connect() Reply with quote



drkm a écrit :
Quote:
Vincent Derrien <vincent (AT) ahoup (DOT) net> writes:


Code:
IntVector -> typedef QvalueVector

public slots:
void mamethode (int, IntVector*);


C'est du C++, ça ?

--drkm

Oui ... en tout cas, c'est dans un morceau de code en C++ et QT d'un
programme sur lequel je me suis basé.

Back to top
drkm
Guest





PostPosted: Tue Jan 04, 2005 7:22 pm    Post subject: Re: Problème avec la fonction connect() Reply with quote

Vincent Derrien <vincent (AT) ahoup (DOT) net> writes:

Quote:
drkm a écrit :

Vincent Derrien <vincent (AT) ahoup (DOT) net> writes:

Code:
IntVector -> typedef QvalueVector
public slots:
void mamethode (int, IntVector*);

C'est du C++, ça ?

Oui ...

Et pourtant ...

Quote:
en tout cas, c'est dans un morceau de code en C++ et QT d'un
programme sur lequel je me suis basé.

Ah (ça me reviens maintenant), je me demande si Qt n'utilise pas un
préprocesseur maison pour gérer des extensions propres. Exact ?

--drkm

Back to top
Loïc Joly
Guest





PostPosted: Tue Jan 04, 2005 8:01 pm    Post subject: Re: Problème avec la fonction connect() Reply with quote

drkm wrote:

Quote:
drkm a écrit :


Vincent Derrien <vincent (AT) ahoup (DOT) net> writes:
[QT, signal, slot]


Quote:
C'est du C++, ça ?

Ah (ça me reviens maintenant), je me demande si Qt n'utilise pas un
préprocesseur maison pour gérer des extensions propres. Exact ?

Si, il utilise un préprocesseur (nommé moc) pour faire ce genre de choses.

Pour le problème initial, je pense qu'il s'agit juste d'un problème de
C++ :

Rien n'empêche quand une fonction est déclarée :
void mamethode (int, IntVector*);

De l'implémenter :
void mamethod (int monentier, IntVector *monvecteur) {}

Et rien n'empêche de la déclarer directement avec les paramètres, et de
l'utiliser avec connect.

--
Loïc


Back to top
Gabriel Dos Reis
Guest





PostPosted: Tue Jan 04, 2005 8:22 pm    Post subject: Re: Problème avec la fonction connect() Reply with quote

drkm <usenet.fclcxx (AT) fgeorges (DOT) org> writes:

Quote:
Vincent Derrien <vincent (AT) ahoup (DOT) net> writes:

drkm a écrit :

Vincent Derrien <vincent (AT) ahoup (DOT) net> writes:

Code:
IntVector -> typedef QvalueVector
public slots:
void mamethode (int, IntVector*);

C'est du C++, ça ?

Oui ...

Non.

Quote:

Et pourtant ...

en tout cas, c'est dans un morceau de code en C++ et QT d'un
programme sur lequel je me suis basé.

Ah (ça me reviens maintenant), je me demande si Qt n'utilise pas un
préprocesseur maison pour gérer des extensions propres. Exact ?

Oui. Voir moc.

-- Gaby

Back to top
drkm
Guest





PostPosted: Tue Jan 04, 2005 9:39 pm    Post subject: Re: Problème avec la fonction connect() Reply with quote

Loïc Joly <loic.actarus.joly (AT) wanadoo (DOT) fr> writes:

Quote:
Pour le problème initial, je pense qu'il s'agit juste d'un problème de
C++ :

Rien n'empêche quand une fonction est déclarée :
void mamethode (int, IntVector*);

De l'implémenter :
void mamethod (int monentier, IntVector *monvecteur) {}

En effet, ça devrait être ce que le PO cherche. J'avoue que je n'ai
pas lu tout l'article attentivement, lorsque j'ai vu les bizareries
MOC.

Sans doute peut-il même remplacer :

SLOT (mamethode(int, IntVector*));

par :

SLOT (mamethode(int monentier, IntVector* monvecteur));

Mais ÀMHA, s'il veut utiliser MOC, ou Zorglub, il devra investir
dans son apprentissage.

--drkm

Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.