bonjour,
pourquoi n'est-il pas possible de placer les fonctions call_back dans d'autres fichiers.c ???
le prototype des fonctions étant déclaré
si c'est possible cmment faire merci
 problème fonctions callback
 problème fonctions callback
				
				
						
							
							
						
						
				bonjour,
pourquoi n'est-il pas possible de placer les fonctions call_back dans d'autres fichiers.c ???
le prototype des fonctions étant déclaré
si c'est possible cmment faire merci
 Re: gtk+ => problème fonctions callback
 Re: gtk+ => problème fonctions callback
				
				
						
						
							
						
				Comme pour n'importe quelle fonction publique, pour être propre et cohérent, le prototype séparé doit être placé dans un fichier protégé par des gardes anti-inclusion multiples, et inclus dans le fichier de définition de la fonction et dans tous les fichiers d'utilisation, selon ce modèle bien connu :Envoyé par youp_db
http://emmanuel-delahaye.developpez....ganiser_source
http://emmanuel-delahaye.developpez.....htm#organiser
Normalement, on peut. (à moins qu'il y ait un 'static' caché dans la macro G_POINTER()...)si c'est possible cmment faire merci
Je ne vois rien qui empèche de mettre la fonction ailleurs. Comme ça, par exemple (horrible ces globales...).
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Que je modifierais en
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2g_signal_connect(G_OBJECT(pWindow), "destroy", G_CALLBACK(gtk_main_quit), NULL);
Dans le callback :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2g_signal_connect(G_OBJECT(pWindow), "destroy", G_CALLBACK(gtk_main_quit), pWindow);
Bien sûr, il faut modifier le prototype en conséquence, et retirer ce G_CALLBACK() qui ne fait que cacher la vérité...
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
etc.
Code : Sélectionner tout - Visualiser dans une fenêtre à part g_signal_connect(G_OBJECT(pWindow), "destroy", gtk_main_quit, pWindow);
Un peu de théorie sur les callbacks...
http://emmanuel-delahaye.developpez.com/complog.htm
Partager