voici donc mon bout de code ou se produit l'exception :
Code :
- switch(NetMess->MessType)
- {
- case MESSTYPE_RECV:
- {
- ProceedRawData(NetMess->Data, NetMess->cbData);
- delete NetMess->Data;
- delete NetMess;
- } break;
- case MESSTYPE_CO:
- {
- OnConnect();
- // SetWaitableTimer
- }
- break;
- case MESSTYPE_DECO:
- {
- Connect("irc.quakenet.org", 6667, hNewMess, TRUE);
- } break;
|
l'exception se produit sur le break; de la ligne avant case MESSTYPE_DECO:
g donc executer le prog en pas a pas pour essayer de mieux comprendre
donc le prog a continuer a s'executer dans la procédure OnConnect (lorsque l'exception s'est produite, NetMess->MessType etait egal à MESSTYPE_CO), voici son code :
Code :
- void CIrcProto::OnConnect(void)
- {
- char* Mess;
- Mess = new char[strlen(Cfg.BotName)+6];
- wsprintf(Mess, "NICK %s", Cfg.BotName);
- SendMessCrLf(Mess);
- delete Mess;
- Mess = new char[strlen(Cfg.BotName)+6];
- wsprintf(Mess, "NICK %s", Cfg.BotName);
- SendMessCrLf(Mess);
- delete Mess;
- SendMessCrLf("USER WarBot WarBot WarBot :WarBot" );
- SendMessCrLf("PRIVMSG Q@CServe.quakenet.org :AUTH CDN-DeathLord xxxxxxxxxxx" );
- Mess = new char[strlen(Cfg.Chan)+strlen(Cfg.ChanKey)+10];
- wsprintf("JOIN %s %s", Cfg.Chan, Cfg.ChanKey);
- SendMessCrLf(Mess);
- delete Mess;
- }
|
et, donc, lorsque le prog est arrivé à wsprintf("JOIN %s %s", Cfg.Chan, Cfg.ChanKey); il a brusquement sauté au break de tout a l'heure pour faire son exception.
ah! oui, l'exception etait :
Unhandled exception at 0x77e1020b in WarBot2.exe: 0xC0000005: Access violation writing location 0x004320a4.
et mon compilateur est vc++7 (.net)
si qq1 y comprend qqchose, merci de m'expliquer 
---------------
-( BlackGoddess )-