|
dev.gamez.lv Latvian Game Developers Community
|
View previous topic :: View next topic |
Author |
Message |
Janka
Joined: 14 Nov 2005 Posts: 19 Location: Jelgava
|
Posted: Thu Jul 13, 2006 5:39 pm Post subject: Program has exited with code 3 (0x3) |
|
Shitais te man neliek mieru, jo ja es taisu visu kaartiigi - tas ir visa aiznjemtaa atminja tiek atkal atbriivota, tad man paraadaas shii kluuda (pat ne kluuda, vnk nenotiek kaartiiga izieshana, bet ja es iznjemu atminjas atbriivoshanu, tad viss notiek normaali...
Kluuda ir te: Code: | case WM_DESTROY:
{
//delete btn; - RODAS KLUUDA JA NONEM KOMENTU
btn = 0;
return 0;
} |
Vispirms ir Code: | CREATESTRUCT *ct = (CREATESTRUCT*)lParam;
btn = new CButton(*(CButton*)ct->lpCreateParams); |
un Code: | class CButton
{
private:
...
TCHAR m_szCaption[64];
public:
...
} |
Un kluuda notiek, ja izsauc Code: |
void CButton::SetCaption(TCHAR* szCaption)
{
_tcsncpy(m_szCaption, szCaption, min(_tcslen(szCaption)+1,64));
if ( m_hWnd )
{
SetWindowLong(m_hWnd,0,(long)this);
InvalidateRect(m_hWnd,0,0);
}
} |
|
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Thu Jul 13, 2006 6:04 pm Post subject: |
|
Īsti nesaprotu, ko tu saki, bet pēc delete izsaukšanas uz objektu, tā metodes vairs nekādā gadījumā nedrīkst izsaukt. |
|
Back to top |
|
|
Janka
Joined: 14 Nov 2005 Posts: 19 Location: Jelgava
|
Posted: Thu Jul 13, 2006 8:08 pm Post subject: |
|
Nee, nee... peec delete izsaukshanas nekas netiek izsaukts, vnk, kad notiek tas delete tad notiek kkaada kluuda, bet nevar zinaat kaada, jo programma uzreiz iziet... Bet taa kluuda notiek tikai tad, ja tiek izsaukta taa funkcija - SetCaption... Ja to f-iju neizsauc, tad kluudu pie delete nav... |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Thu Jul 13, 2006 8:24 pm Post subject: |
|
1) iekš delete tu dari kautko nelabu. Lieto debugeri, lai izpildītu pa solim un paskatītos, kur nokaras
2) Mainīgais btn it sačakarēts. Lieto debugeri, lai uzliktu breikpointu uz tās delete rindiņas un tajā apskaties, cik ir btn mainīgā vērtība (jābūt kautkādam pointerim, nevis 0 vai 0xcccccccc vai tml crapam) |
|
Back to top |
|
|
elvman Indago Uzvarētājs
Joined: 09 Apr 2003 Posts: 1278 Location: Kuldiga
|
Posted: Thu Jul 13, 2006 10:25 pm Post subject: |
|
Apskaties CButton destruktoru->tur noteikti ir kautkas liidziigs DestroyWindow(m_hWnd) (izdzeesh button).Ja taa ir,tad tas nestraadaas,jo galvenais logs jau ir izdeests(WM_DESTROY).Ja taa nav,tad iznjem aaraa visu no destruktra->NOTEIKTI tajaa ir kautkaada kljuuda.
--EDIT--
Veelviena iespeeja,ka tu uz btn mainiigo izsauc delete vairaakas reizes(piemeeram, vienreiz ieksh WM_DESTROY,bet otru reizi kautkaadaa citaa izdzeeshanaas funkcijaa(vai parent klases destruktoraa).
--EDIT2--
Citu iespeeju,manupraat,nav.Nevaru iedomaaties.Nee nav
--EDIT3--
Iespeejams,ka kljuudos _________________ long time; /* know C */ |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|