Witam.
W pętli wykonuje mi się kod.
Kawałek tego kodu:
if(closestCreature)
{
if(closestCreature->isDead())
{
closestCreature = NULL;
}
else if(!yourself->canSee(closestCreature))
{
closestCreature = NULL;
}
else if(!yourself->isReachable(closestCreature))
{
closestCreature = NULL;
}
}
Moj program to aplikacja kilkowątkowa.
Gdy program działa. To ok. po 2-8 godzinach debuger pokazuje błąd błąd:
Access violation reading location 0x00000000
na linijce:
else if(!yourself->isReachable(closestCreature))
Jak to możliwe?
przecieŻ wczesniej też jest użyty wskaźnik yourself.
Myślałem, że inny wątek po prostu "niechcący" usuwa wskaźnik yourself akurat w tym czasie.
Jednak to raczej nie możliwe. Bo yourself to obiekt globalny na całą aplikacje, a poza tym ten błąd zawsze występuje w tym samym miejscu.
Z góry dziękuje za pomoc