begin process at 2010 03 21 00:58:58
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Divers

 > 

Problème incompréhensible


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème incompréhensible

lundi 4 août 2003 à 16:47:01 | Problème incompréhensible

CyberP

Dans un callback d'une fenêtre, j'ai inséré ce code :


case WM_PAINT:{
PAINTSTRUCT peindre;
HDC rect;
rect = BeginPaint(hWnd, &peindre);
Engine.drawfigure(rect, fig, true, true, false);
EndPaint(hWnd, &peindre);
break;
}


qui doit normalement appeler la fonction drawfigure de l'objet Engine qui fait partie de la classe engine2d (le paramètre fig est un objet "figure" propre à mon script).

Or, lorsque je compile et que je lance le programme, à chaque nouveau dessin (donc à chaque fois que le message WM_PAINT est envoyé), le programme plante en indiquant cette erreur :
"The value of ESP was not properly saved across a function call"

J'ai remarqué en faisant des tests que cette erreur ne se produit pas si la fonction appelée ne fait pas partie d'aucun objet.

Quelqu'un a-t-il une idée du problème ?

CyberP,
Celui qui dit que toute question a une réponse
lundi 4 août 2003 à 17:19:02 | Re : Problème incompréhensible

lahou

le probleme vient je pense de ton BeginPaint et de ton EndPaint, il ne faut pas que tu mettes "hWnd" comme premier paramètre de tes deux fonctions mais il faut mettre "rect", c'est à dire ton HDC
voila

Lahou


-------------------------------
Réponse au message :
-------------------------------

> Dans un callback d'une fenêtre, j'ai inséré ce code :
>
>

> case WM_PAINT:{
> PAINTSTRUCT peindre;
> HDC rect;
> rect = BeginPaint(hWnd, &peindre);
> Engine.drawfigure(rect, fig, true, true, false);
> EndPaint(hWnd, &peindre);
> break;
> }
>

>
> qui doit normalement appeler la fonction drawfigure de l'objet Engine qui fait partie de la classe engine2d (le paramètre fig est un objet "figure" propre à mon script).
>
> Or, lorsque je compile et que je lance le programme, à chaque nouveau dessin (donc à chaque fois que le message WM_PAINT est envoyé), le programme plante en indiquant cette erreur :
> "The value of ESP was not properly saved across a function call"
>
> J'ai remarqué en faisant des tests que cette erreur ne se produit pas si la fonction appelée ne fait pas partie d'aucun objet.
>
> Quelqu'un a-t-il une idée du problème ?
>
> CyberP,
> Celui qui dit que toute question a une réponse
lundi 4 août 2003 à 19:39:25 | Re : Problème incompréhensible

BruNews

Administrateur CodeS-SourceS
rect = BeginPaint ????????? quel rect !
hdc = BeginPaint(hWnd, &peindre); // donne un hdc !!!
maintenant si tu veux extraire l'unique rect a repeindre il se trouve dans ton PAINTSTRUCT qui est ici peindre.
Ensuite si continue, verifie si pas de malaise du cote declaration de drawfigure(), __stdcall ou non.
BruNews, ciao...


-------------------------------
Réponse au message :
-------------------------------

> le probleme vient je pense de ton BeginPaint et de ton EndPaint, il ne faut pas que tu mettes "hWnd" comme premier paramètre de tes deux fonctions mais il faut mettre "rect", c'est à dire ton HDC
> voila
>
> Lahou
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Dans un callback d'une fenêtre, j'ai inséré ce code :
> >
> >

> > case WM_PAINT:{
> > PAINTSTRUCT peindre;
> > HDC rect;
> > rect = BeginPaint(hWnd, &peindre);
> > Engine.drawfigure(rect, fig, true, true, false);
> > EndPaint(hWnd, &peindre);
> > break;
> > }
> >

> >
> > qui doit normalement appeler la fonction drawfigure de l'objet Engine qui fait partie de la classe engine2d (le paramètre fig est un objet "figure" propre à mon script).
> >
> > Or, lorsque je compile et que je lance le programme, à chaque nouveau dessin (donc à chaque fois que le message WM_PAINT est envoyé), le programme plante en indiquant cette erreur :
> > "The value of ESP was not properly saved across a function call"
> >
> > J'ai remarqué en faisant des tests que cette erreur ne se produit pas si la fonction appelée ne fait pas partie d'aucun objet.
> >
> > Quelqu'un a-t-il une idée du problème ?
> >
> > CyberP,
> > Celui qui dit que toute question a une réponse
>
mardi 5 août 2003 à 07:36:17 | Re : Problème incompréhensible

CyberP

Ca provoque une erreur de compilation. La syntaxe de la fonction BeginPaint est :

HDC BeginPaint(HWND hWnd, LPPAINTSTRUCT lpPaint)

donc l'erreur n'est pas de ce coté.....

CyberP,
Celui qui dit que toute question a une réponse


-------------------------------
Réponse au message :
-------------------------------

> le probleme vient je pense de ton BeginPaint et de ton EndPaint, il ne faut pas que tu mettes "hWnd" comme premier paramètre de tes deux fonctions mais il faut mettre "rect", c'est à dire ton HDC
> voila
>
> Lahou
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Dans un callback d'une fenêtre, j'ai inséré ce code :
> >
> >

> > case WM_PAINT:{
> > PAINTSTRUCT peindre;
> > HDC rect;
> > rect = BeginPaint(hWnd, &peindre);
> > Engine.drawfigure(rect, fig, true, true, false);
> > EndPaint(hWnd, &peindre);
> > break;
> > }
> >

> >
> > qui doit normalement appeler la fonction drawfigure de l'objet Engine qui fait partie de la classe engine2d (le paramètre fig est un objet "figure" propre à mon script).
> >
> > Or, lorsque je compile et que je lance le programme, à chaque nouveau dessin (donc à chaque fois que le message WM_PAINT est envoyé), le programme plante en indiquant cette erreur :
> > "The value of ESP was not properly saved across a function call"
> >
> > J'ai remarqué en faisant des tests que cette erreur ne se produit pas si la fonction appelée ne fait pas partie d'aucun objet.
> >
> > Quelqu'un a-t-il une idée du problème ?
> >
> > CyberP,
> > Celui qui dit que toute question a une réponse
>
mercredi 13 août 2003 à 12:50:28 | Re : Problème incompréhensible

fabiencpp

DE tt facon son rect meme si il s'appel rect est du type HDC
Donc a mon avis il sait tres bien que c'est DeviceContext
il en a certain simplement besoin dans ca fonction DrawFigure.

Moi je pencherai plutôt vers un message WM_PAINT envoie avant meme que ton engine soit allouer, cela dit ce n'est pas un pointeur. On ne sait pas si c'est une variable global
ou si elle est alloué dans la fonction WndProc.

Enfin en tout cas verifie de ce coté la.
Maintenant sans le code complet difficile d'en dire plus

-------------------------------
Réponse au message :
-------------------------------

> rect = BeginPaint ????????? quel rect !
> hdc = BeginPaint(hWnd, &peindre); // donne un hdc !!!
> maintenant si tu veux extraire l'unique rect a repeindre il se trouve dans ton PAINTSTRUCT qui est ici peindre.
> Ensuite si continue, verifie si pas de malaise du cote declaration de drawfigure(), __stdcall ou non.
> BruNews, ciao...
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > le probleme vient je pense de ton BeginPaint et de ton EndPaint, il ne faut pas que tu mettes "hWnd" comme premier paramètre de tes deux fonctions mais il faut mettre "rect", c'est à dire ton HDC
> > voila
> >
> > Lahou
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Dans un callback d'une fenêtre, j'ai inséré ce code :
> > >
> > >

> > > case WM_PAINT:{
> > > PAINTSTRUCT peindre;
> > > HDC rect;
> > > rect = BeginPaint(hWnd, &peindre);
> > > Engine.drawfigure(rect, fig, true, true, false);
> > > EndPaint(hWnd, &peindre);
> > > break;
> > > }
> > >

> > >
> > > qui doit normalement appeler la fonction drawfigure de l'objet Engine qui fait partie de la classe engine2d (le paramètre fig est un objet "figure" propre à mon script).
> > >
> > > Or, lorsque je compile et que je lance le programme, à chaque nouveau dessin (donc à chaque fois que le message WM_PAINT est envoyé), le programme plante en indiquant cette erreur :
> > > "The value of ESP was not properly saved across a function call"
> > >
> > > J'ai remarqué en faisant des tests que cette erreur ne se produit pas si la fonction appelée ne fait pas partie d'aucun objet.
> > >
> > > Quelqu'un a-t-il une idée du problème ?
> > >
> > > CyberP,
> > > Celui qui dit que toute question a une réponse
> >
>


Cette discussion est classée dans : problème, code, objet, rect, peindre


Répondre à ce message

Sujets en rapport avec ce message

CObject [ par ifren ] salutj'ai un petit probleme,bon j'ai une classe data qui herite de la classe CObject, jusque la normalj'ai un tel codeData::Data(): // Copie de l'obje Petit problème de code [ par mimyne ] Bonjour g le code suivant:void Resultat_Clicked(Object* pSender, EventArgs* pArgs){ int operation = 5; char* chaine[10]; if (pSender == Btnres) { //o Problème de code en c++ (fonction itoa) [ par mimyne ] voila g le code suivant:void Resultat_Clicked(Object* pSender, EventArgs* pArgs){ int operation = 5; char* chaine[2]; if (pSender == Btnres) { { ito problème de pointeur et d'objet pointé [ par leptit ] Bonjour, Je vous présente le problème en C:struct assoc { int l, *n ; }*n est un pointeur vers une alloc dynamique de memoirestyle tableau d'entier.Je If problème [ par Hades53 ] J'ai un problème avec If :char*variable1;variable1 = "bonjour";if (variable1 == "bonjour") cout < (MS VCpp) Problème de variables [ par YS1 ] J'ai créé une DLL C+PP que je souhaite utiliser dans un programe VB.La fonction principale de la DLL renvoie un certain nombre de variables, qui sont #pragma warning(disable : 4100) ????? [ par ifren ] salut evry bodybon j'ai un blem , je suis actuellement entrain de lire du code fait par d'autre, :( , j'ai la moititée des lignes que je ne comprend Un porblème : Oui un très gros ! [ par PiX3L ] Salut tt le monde,bon c'est super le C++ surtout quand y a pas de bug !Mais le problème c'est que j'en ai et que ça fais 2 heures que je suis dessus e INI :: AIDEZ MOI SVP !! [ par bdkiller ] Bonjour,Je suis newbie dans le Cpp. J'utilise Borland Cpp Builder.J'ai un petit problème avec les fichiers ini. Et vu que je n'arrive pas à le résoudr problème chaines de caractères [ par tintin72 ] BonjourJ'aimerai avoir un petit éclaircissement sur les chaines de caractères.Voici un programme tout bête... char prenom[100]; cout gets(pr


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,234 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales