Warning!

Signaler
Messages postés
100
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
3 août 2004
-
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
-
Bonjour voilà j'ai des warnings que je voudrais enlever
est ce quelqu'un peut m'aider?

SetClassLong(hdlg, GCL_HICON, (long)LoadIcon(hinst, (LPCTSTR)IDI_SGCV));

sgcv.cpp(1679) : warning C4311: 'type cast' : pointer truncation from 'HBITMAP' to 'long'

case WM_CTLCOLORDLG:
return (LONG)hbrush;

sgcv.cpp(4856) : warning C4311: 'type cast' : pointer truncation from 'HBRUSH' to 'LONG'

merci d'avance

7 réponses

Messages postés
1100
Date d'inscription
jeudi 24 avril 2003
Statut
Membre
Dernière intervention
17 octobre 2012
7
ça c'est à cause des 'cast' c'est à dire le (LONG) devant hbrush mais pour l'enlever je n'ai pas ton prog en entier donc je ne puis point t'aider

PS : Interdit sur le site de mettre des prog en entier selon BruNews

Le créateur du site http://www.jscv.com
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
26
NENNI, aucune interdiction de prog entier, c'est juste une question de point de vue. Si on est pour l'open source alors...

un warning n'esp pas grave en soi, juste le compilo qui previent que tu dois etre certaine que ton cast est bon.
Tu peux stopper une alerte en mettant:
#pragma warning(disable: 4311)

// code ici

#pragma warning(default: 4311)

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
100
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
3 août 2004

merci à vous deux
et mon cast à ton avis il est bon?

déclaration:
BYTE byRed=212;// red component of color
BYTE byGreen=208;// green component of color
BYTE byBlue=200; // blue component of color
HBRUSH hbrush=CreateSolidBrush( RGB( byRed,byGreen,byBlue));//couleur de l'interface

et dans mon dialog:
case WM_CTLCOLORDLG:
return (LONG)hbrush;
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
26
tout a fait sauf que dans une dialog devrait etre (BOOL), une dlgproc doit se prototyper BOOL.

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
1100
Date d'inscription
jeudi 24 avril 2003
Statut
Membre
Dernière intervention
17 octobre 2012
7
Si j'ai suivit ton résonnement BruNews tu es pour le ClosedSource ! :)

Le créateur du site http://www.jscv.com
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
26
Pour la propriete privee (intellectuelle ou autre), seule base saine ayant fait ses preuves pour une societe viable.
Ceci n'empechant nullement le partage des connaissances, bien au contraire.

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Pour le problème initial:

SetClassLong(hdlg, GCL_HICON, (LONG)(LONG_PTR)LoadIcon(hinst, (LPCTSTR)IDI_SGCV));

Par contre le warning que tu mets ne correspond pas au cde, car LoadIcon donne un HICON et pas un HBITMAP.