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

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler
Регистрация

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

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

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

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

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

Точно, 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
Репутация: 27
По умолчанию

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

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запись дисков в Delphi FaTaL Общие вопросы Delphi 16 19.04.2011 20:15
Буфер и паскаль Mago Паскаль 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


17:26.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.