Om det original- programet är den funktionsdugliga brunnen, då som är bra. Du kunde lämna goda nog ensam, men den stilla funderare för I, att du bör ändra din trådlogik för att vara mer anmärker - orienterat, som jag har nämnt. Som den står, det är hårt att välja upp hur saker fungerar från att se din kodifierar: du har UI som är blandad med lägre jämn funktionsduglighet. En tråd klassificerar modularizes allt som så mycket är bättre och, gör för lättare läsning, hence feltestning, om något bör behöver att se på ett mer sistnämnd, daterar.
Men hey, den är din projekterar…:),
>> du har någon idé varför, när den avslutas genom att klicka ”xet” knäppas, avlusaren indikerar att minnet läcker?
Jag ser efter, efter jag har startat avlusaren, press startknappen, därefter tätt appen:
Det avkända minnet läcker!
Att dumpa anmärker - >
{542} det normalakvarter på 0x00DB16A0, 16 byte long.
Data:
<>bsp;
 
;  
;
 
;  
; > A8 15 CD CD CD CD CD CD CD CD CD CD CD CD för DB 00
{541} det normalakvarter på 0x0003FBE8, 32 byte long.
Data:
<>bsp;
 
;  
;
 
;  
; > A0 16 DB 00 00 00 00 00 00 00 00 00 00 00 00 00
{526} det normalakvarter på 0x00DB3FA0, 28 byte long.
Data:
<>bsp;
 
;  
;
 
;  
; > 00 00 00 00 CD CD CD CD CD CD CD CD E8 FB 03 00
Anmärka dumpar färdigt.
Så jag tillfogar efter till CWinThreadTestApp:: InitInstance ():
_CrtSetBreakAlloc (542);
_CrtSetBreakAlloc (541);
_CrtSetBreakAlloc (526);
, då nu avlusaren startas, jag får omgående ett feltestningsavbrott på fodra:
OpRequestQ = (queue*
)
nytt
köa
; //
[
MAX_CONCURRENT_POLLS+1];
tillfoga, så
om (OpRequestQ) borttagnings OpRequestQ;
till din destructor:) _CrtSetBreakAlloc är egentligen en store fungerar för att göra omfattande bruk av, när det är nödvändigt:)