Program lukker ned af sig selv

Tags:    c++

<< < 12 > >>
Hej.

Jeg har en LISTBOX i mit program, som lister alle installerede skrifttyper. Men når man klikker rundt på den liste et par gange, så lukker programmet ned helt af sig selv.

Gennem nogle tests lokaliserede jeg fejl til at ligge her:
Fold kodeboks ind/udKode 

Altså i min WM_COMMAND. Jeg tror, det har noget med min STRINGSTREAM at gøre. Hvis jeg putter de sidste 4 linjer inden BREAK i /* kommentar */, så lukker programmet ikke ned, men så virker det naturligvis heller ikke som det skal.

Hele min kode ser således ud:
Fold kodeboks ind/udKode 




11 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
std::string-klassens overloadede assignment-operator tager bl.a. imod en C-streng, så din stringstreaming er helt unødvendig, som Bertel Brander også viste.
Hvis du evt. også havde prøvet at teste hans kode, ville du se at hans kode virker helt fint - og ikke får vinduet til at lukke ned.



Mon der sker en buffer overflow på din szBuffer?



Det kan meget vel passe. Hvordan tjekker jeg det? Og hvordan nulstiller jeg den?

szBuffer = ""; brokker den sig jo over. Findes der en funktion?



Du kan vel nulstille den ved at bruge memset, men jeg aner ikke om det er det der er i vejen. Måske den skulle være større end 128 bytes? Men jeg kender intet til programmering på Windows platformen.



Hvis du vil "nulstille" dit array, kan du bruge det gamle tricks, når du opretter:
Fold kodeboks ind/udKode 

eller du kan vælge at bruge memset:
Fold kodeboks ind/udKode 


EDIT: Martin var hurtigst.



Indlæg senest redigeret d. 26.06.2007 16:14 af Bruger #8422
v0id << vi kan jo dele de point :P



v0id > Intet af det virkede.



Indlæg senest redigeret d. 26.06.2007 21:45 af Bruger #8985
Jeg er ikke sikker på hvad det er du forsøger at opnå.

Den lette løsning er at bruge:

Fold kodeboks ind/udKode 




[quote="Thomas"]
v0id > Intet af det virkede.

Forkert.
Det virkede, men det løser selvfølgelig ikke hele dit problem. Min løsning var bare til det spørgsmål du kom med ang. "nulsætning" af et array.



Hvis det ikke løser mit problem, så virker det vel heller ikke. Det er muligt det nulstiller mit array, men at nulstille mit array var så åbenbart ikke mit problem. Uanset hvad, så lukker programmet stadig. I kan jo prøve at compile koden, så I er mere på den rene med hvad, der er galt.



<< < 12 > >>
t