Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 26.02.2007, 21:32   #11
rpy3uH
добрый няша
СуперМодератор
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,808
По умолчанию

эта прога вообще что делает?
rpy3uH вне форума Ответить с цитированием
Старый 26.02.2007, 22:16   #12
SteelRat
Брэйнфакер Про
Пользователь
 
Аватар для SteelRat
 
Регистрация: 21.02.2007
Сообщений: 51
По умолчанию

Прога переводит графику из формата игры в BMP и обратно. Есть готовая DOS версия (моя), я её просто перевожу под Win интерфейс. И как раз функции распаковки/упаковки были написаны на ассемблере. Лень переписывать эти функции на язык высокого уровня мне. Как это ни странно. =)
Хотя насколько я успел заметить операция типа OutBufPtr^[0]:=$FF; (здесь указатель объявлен как PByteArray) вызывает ту же ошибку. Так что не в ассмблере может и дело...
SteelRat вне форума Ответить с цитированием
Старый 27.02.2007, 21:19   #13
rpy3uH
добрый няша
СуперМодератор
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,808
По умолчанию

короче у тебе надо разрешить запись в эту память, проверь нормально ли завершается функция virtualprotect, может она выдаёт ошибку, проверь, вообще существует ли эта область памяти
rpy3uH вне форума Ответить с цитированием
Старый 27.02.2007, 21:45   #14
SteelRat
Брэйнфакер Про
Пользователь
 
Аватар для SteelRat
 
Регистрация: 21.02.2007
Сообщений: 51
По умолчанию

Точно, VirtualProtect выдаёт false и GetLastError выдаёт $57
Пока значение этого кода не нашел.

$57 - это просто неверные параметры. =)
Изменил OldProtect с pointer на dword - ошибка изменилась.
Теперь это 3796

SysErrorMessage показывает пустое окно для этого кода. =)

Память эта просто обязана существовать, я же её выделял. При чём по-всякому.

Вот здесь нашел значение кода 3796. К Дельфи не имеет никакого отношения, но по смыслу почему-то подходит.
http://cenmvst.gov.ab.ca/bookmgr-cgi...ESSAGE.BKSHELF

Ну, а если использовать VirtualAlloc, то код ошибки 3720. Уффф...

Последний раз редактировалось SteelRat; 27.02.2007 в 23:34.
SteelRat вне форума Ответить с цитированием
Старый 27.02.2007, 23:49   #15
SteelRat
Брэйнфакер Про
Пользователь
 
Аватар для SteelRat
 
Регистрация: 21.02.2007
Сообщений: 51
По умолчанию

Всё, Грузин, спасибо огромное. Я нашел ошибку. Как и ожидалось она нашлась в совсем другом месте. Я сразу хреново сделал, что привёл код лишь в общих чертах. Просто у меня используется команда LOOP для циклов. А счетчик то я задавал в CX по старой привычке, я ещё не работал 32 разрядными регистрами. Естественно, что в ECX было значение хрен знает какое. Буфер переполнялся - Access Violation. Во дурааак я.... =)
PS Оказывается при отладке F8 прокрутит весь цикл LOOP. Раньше такого не было. =) Если бы не это - нашел бы ошибку сразу. Но зато ничего не узнал бы про VirtualProtect.

Последний раз редактировалось SteelRat; 28.02.2007 в 00:44.
SteelRat вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запись дисков в Delphi FaTaL Общие вопросы Delphi 16 19.04.2011 20:15
Буфер и паскаль Mago Паскаль, Turbo Pascal, PascalABC.NET 4 29.07.2008 22:19
Запись CD/DVD дисков в Delphi Igoressicus Общие вопросы Delphi 10 17.07.2008 18:40
Запись в файл в Delphi, нужна помощь s-t-r-i-k-e-r Помощь студентам 5 03.06.2008 19:11
Запись на диск через Delphi delphin100 Общие вопросы Delphi 1 09.10.2007 10:10


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS