Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];




Вниз

Как обойти Access violation при попытке записи(+) 


mangoost   (2001-11-05 12:06) [0]

в определенную ячейку памяти?



Digitman   (2001-11-05 12:56) [1]

Что значит - "обойти" ? Если "не лезет" туда (в ячейку памяти) ничего, значит, она - не твоя, и ты не имеешь прав на доступ к ячейке по записи.



Dimka Maslov   (2001-11-05 13:47) [2]

>mangoost
Любое приложение для виндов может писать и читать только в те ячйки памяти, куда ему позволяет операционная система, а не туда, куда захочет программист. Как ты думаешь почему в Delphi исчезли массивы Mem и Port? Видимо не просто так.



paul_shmakov   (2001-11-05 17:21) [3]

Можно с помощью VirtualQuery сначала проверить, доступна ли станица памяти, на кот. расположена "ячейка", для записи. Если нет, а очень нужно, то с помощью VirtualProtect поменять защиту региона.



paul_shmakov   (2001-11-06 13:33) [4]

Сорри, про VirtualProtect - это я вчера немного нагнал (я писать начал, потом меня отвлекли, и через 15 мин я закончил полной чепухой :)
Перво-наперво, нужно действительно VirtualQuery проверить: 1) выделена ли память; 2) доступна ли она для записи.
Если память не выделена, то можно ее, конечно, выделить, хотя это глупость какая-то.
А вот если память выделена, но read only, то можно попытаться изменить защиту страницы (VirtualProtect).




Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.044 c
4-22469           Zibaro                2001-11-01 19:38  2002.01.08  
Картинка в popup меню (как из кнопки


3-21995           Дмитрий Д.            2001-12-07 08:00  2002.01.08  
Вылезла ошибка BDE... не пойму в чем может быть проблема


6-22312           Leviathan             2001-10-15 00:24  2002.01.08  
Эй, кто разбирается в Indy? Нужна помощь!


3-21982           Dush                  2001-12-06 12:37  2002.01.08  
Подключение клиента к базе


14-22327          fliz                  2001-11-05 15:39  2002.01.08  
а говорят послезавтра праздник?