Если я его правильно поставил ( в чём я не уверен), то не заработало.
Quote:advapi32.dll
Это, кстати, что такое? Я так понимаю, что одна из системных dll в windows/system32?
advapi32.dll - это системная dll, в которой содержатся RegCloseKey и RegSetValueExA.
Добавлено:
и RegOpenKeyExA

1-байтные значения UN:C читает во многих случаях с багами. Но это либо её проблемы, либо длл ты делал, как и говорил: для 4-х байт и строк. Если однобайтные значения предпочтительнее, то заменяют UN:C КопиМемори - и порядок.
Спасибо за ответ - вздохнул спокойнее. )
(27.01.2010 19:26)Berserker Wrote: [ -> ]Если памяти не хватит (выделишь больше двух гигов и исчерпаешь адресное пространство процесса, то произойдёт исключение, о чём будет написано: Exception EOutOfMemory.
До этого ещё далеко...

Код UN:C выглядит в сорцах корректным. Код EraUtils вообще несколько десятков строк. Может быть у тебя ошибки?
UN:C читает 1 байт до 128 нормально, а далее - как отрицательные значения (-127, -126 и т.д.) или как бред. И так во многих участках памяти, но далеко не во всех. Это не моя ошибка, и не ЭРЫ.
прибавь 256 и будет тебе счастье
Quote:а далее - как отрицательные значения (-127, -126 и т.д.)
Видимо, где-то signed c unsigned попутан?
Quote:UN:C читает 1 байт до 128 нормально, а далее - как отрицательные значения (-127, -126 и т.д.) или как бред. И так во многих участках памяти, но далеко не во всех. Это не моя ошибка, и не ЭРЫ.
-MAXBYTE, -MAXWORD, -MAXLONGINT ЕРМ считает криво из-за кривого приведения к строке.
То бишь правильные диапазоны: -128..127, -32768..32767, а ЕРМ при приведении к строке понимает лишь -127..127, -32767..32767 и т.д. В любом случае все значения считаются знаковыми. Совет верный. Просто прибавь 256 перед использованием.
Баг с вылетом при DL:A.
Используем недокументированный параметр Redraw.
DL:A../../../0 или 1. Если вылет строго после этого, то подставить сюда адрес v1 = 0x887668.
Если не поможет, исправим в ехе.
Работает. Огромное спасибо!
(06.02.2010 04:06)Berserker Wrote: [ -> ]Просто прибавь 256 перед использованием.
Уж чтобы не париться, добавляя новые команды в код, лучше целиком UN:C КопиМемори заменить. А в качестве адреса, с которого копировать, использовать адрес глобальной v-переменной. Тут ЕВМА в самый раз пригодится.
Quote:Баг с вылетом при DL:A.
Используем недокументированный параметр Redraw.
DL:A../../../0 или 1. Если вылет строго после этого, то подставить сюда адрес v1 = 0x887668.
Если не поможет, исправим в ехе.
Давно ждал, когда с этим разберутся. Спасибо!
Драколич должен это в справку занести обязательно.
Проблема с Эрой.
Когда скачиваю архив с Эрой из 1 поста а потом распоковываю, то там есть папка с экзешником TE и BinGen, с пом. которого он модифицируется в Эру (так ведь?).
Проблема в том, что ни оригинальный ТЕ, ни патченый Эра не хотят запускаться.
Никаких ошибок, никаких окошек -- вообще ничего. Т.е. экзешники не запускаются после копирования их в папку Героев.
У меня установлено: SoD 3.2 + WoG 3.58f + Rus + New objects 1.08 (или 1.09) + несолько кричей заменены, в частности, Кровавый Дракон и Дракогидра от Docent.
В чём может быть причина незапуска экзешника?
Система WinXP SP3 + SecurityPRE-SP4, DX 9.0c от августа 2009 + DX10 от (не помню когда) 2009 г; .NET Framework 1.1, 2.0 и 3.5.
GORynytch, архив нужно распаковать в главную директорию игры. Для игры тебе не хватает Data\SPTRAITS.txt
Просто я распаковал в подпапку с программами для Героев 3 и, возможно, забыл скопировать папку Data куда надо. Сёдня проверю.
Спасибо большое.
PS. Это единственная возможная проблема, из-за которой ехе не загружается? Или могут быть другие варианты?