begin process at 2012 05 30 14:12:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Programme Crasher


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

Programme Crasher

dimanche 31 mars 2002 à 10:48:49 | Programme Crasher

Kephren

Salut, je viens demander de l'aide à propos de mon programme. En fait il marche très bien mais depuis que j'ai rajoutée du code, une fois compilé, je le lance sans erreur et à la seconde qui suit y a une fenetre blanche avec dedans TEST.EXE A CAUSE UNE DEFAILLANCE DANS KERNEL32.DLL babalblallllalbaabablalblabl....
J'ai rajouté 2 portion de code. La 1ere marche si la 2eme est en commentaire, sinon ça fouare.
DOnc je ne vous montre pas tout le code car je sais que le reste marche bien.


------ le code avant c des déclarations etc... -------
float endvaleur;
float x;
char buffer[27];

int API....
...
....

BOOL CALLBACK MainDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam,
LPARAM lParam)
{
switch (msg)
{
case WM_INITDIALOG:
......
case WM_COMMAND:
switch (LOWORD(wParam))
{
case IDTEXT:
x = GetDlgItemText(hwndDlg, IDTEXT, buffer,
sizeof(buffer));
endvaleur = x * 6.55957;
sprintf(buffer,"%.2f",endvaleur);
SetDlgItemText(hwndDlg,9,buffer);
break;
/* Ce code marche, si je met pas le truc qui a en dessous y a pas de problême. IDTEXT c'est le nom d'une edit box. Et le nombre "9" la 2eme edit box. Regardons le code d'apres qui fait fouarer */

case IDPOUET:
x = GetDlgItemInt(hwndDlg, 9, NULL, FALSE);
endvaleur = x / 6.55957;
sprintf(buffer,"%.2f",endvaleur);
SetDlgItemText(hwndDlg,7,buffer);
break;
/* Ca c'est le code fouareux. IDPOUET c'est le nom de la 2eme EDIT BOX (la numéro "9") et le nombre "7" c la 1ere edit BOX (celle du dessus). J'ai essayé de changer le nom des variables mais ça ne marche pas non plus. */

Donc si qqun pouvait m'aider ca serait cool :)
Allez @+++
dimanche 31 mars 2002 à 15:11:21 | Re : Programme Crasher

jcecchi

>>case IDPOUET:
>>x = GetDlgItemInt(hwndDlg, 9, NULL, FALSE);
>>endvaleur = x / 6.55957;
>>sprintf(buffer,"%.2f",endvaleur);
>>SetDlgItemText(hwndDlg,7,buffer);
>>break;

GetDlgItemInt renvoi un entier. Donc si le contenu de IDPOUET n'est pas un entier ca ne marchera pas et provoque une erreur.

>>case IDTEXT:
>>x = GetDlgItemText(hwndDlg, IDTEXT, buffer,
>>sizeof(buffer));
>>endvaleur = x * 6.55957;
>>sprintf(buffer,"%.2f",endvaleur);
>>SetDlgItemText(hwndDlg,9,buffer);
>>break;

si ce bout de code marche comme il faut je veux bien me pendre. Tes euros ne risque pas de se convertir en francs. GetDlgItemText a pour valeur de retour le nombre de caractères lus. Si tu tapes 10, 20 ou 30 il renvoie 2, donc tu auras toujours le meme resultat.

Dans les deux cas tu dois recuperer ta valeur, la transformer en float ou double, faire le conversion puis la retransformer en chaine de caractères.

Sinon tu peux aller voir mon code Convertisseur Euro (WIN 32) pour l'analyser et corriger le tien.

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

Salut, je viens demander de l'aide à propos de mon programme. En fait il marche très bien mais depuis que j'ai rajoutée du code, une fois compilé, je le lance sans erreur et à la seconde qui suit y a une fenetre blanche avec dedans TEST.EXE A CAUSE UNE DEFAILLANCE DANS KERNEL32.DLL babalblallllalbaabablalblabl....
J'ai rajouté 2 portion de code. La 1ere marche si la 2eme est en commentaire, sinon ça fouare.
DOnc je ne vous montre pas tout le code car je sais que le reste marche bien.


------ le code avant c des déclarations etc... -------
float endvaleur;
float x;
char buffer[27];

int API....
...
....

BOOL CALLBACK MainDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam,
LPARAM lParam)
{
switch (msg)
{
case WM_INITDIALOG:
......
case WM_COMMAND:
switch (LOWORD(wParam))
{
case IDTEXT:
x = GetDlgItemText(hwndDlg, IDTEXT, buffer,
sizeof(buffer));
endvaleur = x * 6.55957;
sprintf(buffer,"%.2f",endvaleur);
SetDlgItemText(hwndDlg,9,buffer);
break;
/* Ce code marche, si je met pas le truc qui a en dessous y a pas de problême. IDTEXT c'est le nom d'une edit box. Et le nombre "9" la 2eme edit box. Regardons le code d'apres qui fait fouarer */

case IDPOUET:
x = GetDlgItemInt(hwndDlg, 9, NULL, FALSE);
endvaleur = x / 6.55957;
sprintf(buffer,"%.2f",endvaleur);
SetDlgItemText(hwndDlg,7,buffer);
break;
/* Ca c'est le code fouareux. IDPOUET c'est le nom de la 2eme EDIT BOX (la numéro "9") et le nombre "7" c la 1ere edit BOX (celle du dessus). J'ai essayé de changer le nom des variables mais ça ne marche pas non plus. */

Donc si qqun pouvait m'aider ca serait cool :)
Allez @+++
dimanche 31 mars 2002 à 16:17:57 | Re : Programme Crasher

Kephren

Merci pour ta réponse :)
En ce qui concerne ton prog à analyser, c'est déja fait; C'est toi même qui m'a donné envie de faire ce prog :) (j'ai d'ailleurs mis ton nom dans le prog hein)
Pour ce qui est du GetDlgItemInt, une personne dans le groupe google.com m'a dit la même chose. J'ai oublié de mettre à jour cette portion de code. Mais j'ai déja essayé avec GetDlgItemText pour les 2 et ça ne marche pas.
Je voulais aussi dire que le programme Crash méchamment c pas du Erreur non conforme je ne sais quoi :)
C'est la pitite fenetre blanche toute pourrave avec le message d'erreur KERNEL de la mort :p
Mon Programme ne se lance même pas aussi. C'est pas en tapant des valeurs que ça chie. Ca se lance même pas tu clique et vlan.
Donc voilà, qqun d'autre à une idée ?
dimanche 31 mars 2002 à 16:20:58 | Re : Programme Crasher

Kephren


D'un autre coté j'ai essayé d'inové, ce me fait grave chiez de pomper sur ton code là :(
Y a pas une autre facon pour convertir ?
dimanche 31 mars 2002 à 16:38:23 | Re : Programme Crasher

Kephren

Trop de nombre dans ton edit box fait planter le programme
dimanche 31 mars 2002 à 20:22:08 | Re : Programme Crasher

jcecchi

Poste WinMain pour voir.

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

Merci pour ta réponse :)
En ce qui concerne ton prog à analyser, c'est déja fait; C'est toi même qui m'a donné envie de faire ce prog :) (j'ai d'ailleurs mis ton nom dans le prog hein)
Pour ce qui est du GetDlgItemInt, une personne dans le groupe google.com m'a dit la même chose. J'ai oublié de mettre à jour cette portion de code. Mais j'ai déja essayé avec GetDlgItemText pour les 2 et ça ne marche pas.
Je voulais aussi dire que le programme Crash méchamment c pas du Erreur non conforme je ne sais quoi :)
C'est la pitite fenetre blanche toute pourrave avec le message d'erreur KERNEL de la mort :p
Mon Programme ne se lance même pas aussi. C'est pas en tapant des valeurs que ça chie. Ca se lance même pas tu clique et vlan.
Donc voilà, qqun d'autre à une idée ?

dimanche 31 mars 2002 à 21:02:06 | Re : Programme Crasher

Kephren

Je t'ai envoyé ça dans ta messagerie sur le site


Cette discussion est classée dans : buffer, code, marche, hwnddlg, endvaleur


Répondre à ce message

Sujets en rapport avec ce message

Pb de concaténation [ par lcampeur ] J'ai un probleme de concaténation qui fait planté mon programme. Je recupere un nom de fichier avec la fonction : CString fileName ;char * Name ;fileN Mon code ne marche pô ! [ par xavier59 ] Mon code ne marche pas !Merci de m'aider !!!**************************************************# include # include int main(){ int tab[5]; int i; int t Trier un set, ca marche pas!!! besoin d'aide svp... [ par jamirc ] j'ai un set de pointeur Etudiant,je veux en faire le tri par le type du programme et ca marche pas.Voici les attributs dans mon Etudiant.hprotected: pb de polygones et autres [ par dbtm ] Salut payen, et les autres..?J'ai d'autres bugs, en plus de l'affichage de mes polygones.L'executable créé marche sous vc mais bugge quand je le lance changer la couleur de fond d'une boite de dialogue [ par fox88 ] mon programme se compose d'une boite de dialogue dont j'ai changer la couleur de fond grace à WM_CTLCOLORDLGmais j'ouvre ensuite une seconde boite de pb affichage icone-bouton (pk sa marche pas ??) [ par Gendal67 ] Bonjour all! :)Me revoila....avec un autre souci....j'essaie en vain d'afficher une icone sur un bouton...je pense connaitre tout le necessaire pour f Probleme de mémoire, impossible à vider... [ par Guizmo95 ] Bonjour, Voilà mon problème : J'ai le code suivant : char *buffer; sprintf(bu Transmission de liste avec FileMapping [ par Loukhass ] Je dois partager une liste d'élément complexe (des structures) avec FileMapping. J'ai trouvé le code suivant dans les codes sources: http://www.cppfr Focus Visual C++ 6.0 [ par Steph115 ] Salut a tous,J'aimerais savoir si qqun sait comment faire pour obtenir le focus j'ai un HWND console; ou console represente ma fenetre et je lui fait sprintf : le point devient virgule! [ par Jula ] Bonjour à tous,voici mon code:char buffer[16];sprintf(buffer, "%f", seuil_db);seuil_db est un float, il y a


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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 : 2,012 sec (3)

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