NRO SERIE PROCESSEUR (WIN32)

gagah1 Messages postés 509 Date d'inscription samedi 28 juin 2003 Statut Membre Dernière intervention 3 août 2010 - 23 janv. 2004 à 22:07
cs_oliverman Messages postés 40 Date d'inscription samedi 14 décembre 2002 Statut Membre Dernière intervention 5 juillet 2007 - 27 avril 2004 à 16:23
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/19713-nro-serie-processeur-win32

cs_oliverman Messages postés 40 Date d'inscription samedi 14 décembre 2002 Statut Membre Dernière intervention 5 juillet 2007
27 avril 2004 à 16:23
pfff. Bon ben vraiment, le VC++ restera toujours un mystere pour moi.
Je vais me retaper mon code pour essayer de denicher une petite erreur. En tout cas ton prog marche tres bien.
Merci.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
27 avril 2004 à 11:20
oliverman > comme prevu va nickel en dlgbox. Teste sur 98(nro indisponible, P200), XP et 2003 Server.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
27 avril 2004 à 09:38
Je te refais l'exemple dans dialogbox.
On n'a pas a sauvegarder les 3 registres generaux (EAX,ECX,EDX), par contre EBX doit l'etre en prog Windows.
Tu reprendras zip des que maj de source sera faite.
cs_oliverman Messages postés 40 Date d'inscription samedi 14 décembre 2002 Statut Membre Dernière intervention 5 juillet 2007
27 avril 2004 à 09:09
Humm, en fait je pense avoir trouvé le probleme. Ma fonction, je l'ai appellé dans WM_INITDIALOG de mon callback, alors que si je l'appelle dans mon main, ca marche nikel. Je pense que ca bug parce que tu ne sauvegarde pas tes registre avant de t'en servir. Tu en pense quoi???
En tout cas, tu n'imagine meme pas comment ca m'aide.

Autre question, comment tu fais pour savoir autant de truc en VC??
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
26 avril 2004 à 15:56
Si tu respectes les conventions d'appel, aucune raison que ça deconne.
cs_oliverman Messages postés 40 Date d'inscription samedi 14 décembre 2002 Statut Membre Dernière intervention 5 juillet 2007
26 avril 2004 à 15:41
Merci, ca dechire!!!
Par contre, je me pose une petite question:
Quand je le mets dans le Winmain ca marche nikel, mais quand je creer une fonction, ca deconne. Tu n'aurais pas une idée d'ou pourrais venir mon probleme??
Merci!
BlackGoddess Messages postés 338 Date d'inscription jeudi 22 août 2002 Statut Membre Dernière intervention 14 juin 2005
26 janv. 2004 à 10:22
ah, bien merci pour ces précisions :)
(et la rapidité de réponse lol :p)
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
26 janv. 2004 à 10:15
__declspec(naked) empeche le compilo d'y foutre ses pattes completement, on ecrit donc asm vrai, des sauvegardes de registres jusqu'au retour de la fonction.
__stdcall est une des conventions d'appel ou c'est l'appele qui depile les params (API standard) a l'inverse de l'habitude C ou c'est l'appelant qui depile.
BlackGoddess Messages postés 338 Date d'inscription jeudi 22 août 2002 Statut Membre Dernière intervention 14 juin 2005
26 janv. 2004 à 10:09
a mais tres jolie source par contre :)

juste une petite chose :
__declspec(naked) sert si je me rappelle bien a virer l'entete de la fonction ? dans ce cas, a quoi ca sert de rajouter __stdcall qui spécifie une entete je crois ?

enfin ca doit bien etre utile, vu que si je l'enleve ca marche plus :p
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
26 janv. 2004 à 09:56
Ce genre de constante est inchangeable par qui que ce soit, meme et surtout par MS, plus aucun prog ne tournerait.
BlackGoddess Messages postés 338 Date d'inscription jeudi 22 août 2002 Statut Membre Dernière intervention 14 juin 2005
26 janv. 2004 à 09:50
mmh ... et puis si un jour MS decide pour une raison quelconque de changer, par exemple MB_ICONINFORMATION = 0 bin si tu avais pris 1/2 sec de ton précieux temps, bin ton prog marcherait tjs :p

le reprise de prog sont si compliqués a cause d'écriture comme ca...

enfin sur cette critique plutot négative, v voir la source :)
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
24 janv. 2004 à 12:38
ok mais je dois aussi composer avec ma memoire, 40 et 30 pour exclamation sont simples a retenir.
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
24 janv. 2004 à 12:30
Tu pourrais aussi écrire 64 qui est plus rapide à écrire que 0x40; en plus tu n'appuies qu'une fois sur shift.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
23 janv. 2004 à 22:14
par flegme du clavier, t'as vu comme 0x40 est plus court ?
Pour info MB_OK vaut ZERO, alors utilite de ORer un nombre avec 0 ?
gagah1 Messages postés 509 Date d'inscription samedi 28 juin 2003 Statut Membre Dernière intervention 3 août 2010
23 janv. 2004 à 22:07
Salut!!
On apprend pas mal des choses avec tes sources, mais dès fois tu compliques les instructions . Comme ici la fonction MessageBox(.....,0x40), pourquoi tu mets 0x40 au lieu de MB_ICONASTERIX|MB_OK , y a-t-il une difference? Merci.
Rejoignez-nous