Показать сообщение отдельно
  #15  
Старый 16.07.2010, 16:47
Аватар для AleD
AleD AleD вне форума
Активный
 
Регистрация: 21.02.2009
Адрес: г.Краснокаменск
Сообщения: 383
Репутация: 91
По умолчанию

10) Использование указателей и "Авто изменение адресов". На примере игры "Warcraft 3"
Цитата:
Сообщение от Справка ArtMoney
Если случается так, что ранее найденные и сохраненные адреса становятся недействительными, это значит, что игра использует динамическое распределение памяти. Недействительные адреса - это значит, что там не то, что в игре или нет никакого значения вообще (пишется <НЕТ>). Итак, рассмотрим природу этого явления "динамическое распределение памяти" по-английски "Dynamic Memory Allocation" сокращенно DMA. Когда игре необходима дополнительная память, она использует функцию Windows для получения памяти. Windows раздает участки памяти случайно, то есть по DMA. Из этого следует, что перезапуск игры приводит к полной переделки всей карты памяти. Блоки памяти меняются местами, адреса меняются.
...
если в задаче используется конкретная программа для поиска, то достаточно проверить есть ли указатель на эти данные и статичен ли он (что скорей всего) артманяй
__________________
TAleD = class(TUser)
public
function HelpMe(ASubject, ARequest: String): String;
function GiveMeExample(ASubject: String): TStringList;
procedure WriteReview(APost: Integer; ADescription: TStringList);
end;
Ответить с цитированием