Access Violation

0

Jak można złapać wyjątek Access Violation??
[code]AnsiString MEM = "";
for(int i=skad; i<dokad; i++)
{
MEM = MEM+(char*)(i);
}[/code]

Chciałbym się ustrzec, przed czytaniem 'niedozowolonych' obszarów pamięci

0

próbowałeś z
try
{
instrukcje ....
}
catch(...)
{
MessageBox(0,"Błąd","Wspaniała aplikacja",MB_OK);
}
?

0

Jasne, to było to co zrobiłem najsamprzód...
Ale to nic nie daje, błąd już się nie pojawaia, to mimo tego i tak zatrzymuje mi całą pętlę...

Można by na ten przykład co chwila tworzyć nowy proces, wtedy co najwyżej prces by się zatrzymał...

Albo zrobić Timer`a, który będzie wykonywał tę operację (pobrania danej z jednego adresu pamięci) z intervałą 1, ale wyobraź sobie jaką to wtedy ma prędkość (ok. 18/1sek - chyba nie więcej, może mniej:) )

0

Do tego sa specjalne funcje niskopoziomowego dotepu do pamieci w win32 : VirtualQuery i VirtualQuery one wyszukuja rejony pamieci danego procesu ktore spelniaja podane warunki np. RESERVED, FREE, COMMIT. Cie interesuja FREE i RESERVED bo odwolanie sie do nich powoduje Access Violation.

1 użytkowników online, w tym zalogowanych: 0, gości: 1