Вниз
Скачать: CL | DM;

Как обойти 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).



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.011 c
4-22496
Wic
2001-10-29 18:54
2002.01.08
Как узнать, что Соединение установлено?


14-22398
Jey
2001-11-10 18:55
2002.01.08
Тут вот приспичило IRC клиент сделать ....


1-22075
som
2001-12-19 12:40
2002.01.08
Таблицы в MS Word


4-22461
ShaH
2001-10-29 11:08
2002.01.08
проблема с LogonUser (ERROR_PRIVILEGE_NOT_HELD)


6-22270
Ajax
2001-09-15 10:15
2002.01.08
У меня тут возникло 3 вопроса про почту.




   Наверх