|
Вопрос # 2 851/ вопрос открыт / |
|
Здравствуйте, эксперты!
С чтением\записью оказалось проще чем мне казалось, но возникла проблема:
В приложении код. При записи ~0,1мб происходит ошибка в TmemoryStream. Видимо из-за переполнения. Объясните где ошибка.
Приложение: Переключить в обычный режим- f:=Tmemorystream.Create;
- GetMem(b,1024);
-
- for i:=0 to strtoint(edit1.Text) do
- begin
- ReadProcessMemory(HW,ptr($000000+i*1024),b,1024,t);
- end;
-
- f.WriteBuffer(b,(i+1)*1024);
-
- f.SaveToFile('C:temp.txt');
 |
Вопрос задал: Gooddy (статус: 3-ий класс)
Вопрос отправлен: 27 мая 2009, 16:58
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 8; последнее сообщение — 27 мая 2009, 17:37; участников в обсуждении: 2.
|
Gooddy (статус: 3-ий класс), 27 мая 2009, 17:04 [#1]:
" Первый мегабайт вообще особняком сидит - это дань DOS'у. "
Это написал Вадим. К. Может в этом дело? Попробую читать со второго мегабайта
Чисти код! Чисти код! Чисти код!
|
|
Gooddy (статус: 3-ий класс), 27 мая 2009, 17:06 [#2]:
Мда. ещё выяснилось что код у меня не рабочий Вобщем сначала почитаю.
Чисти код! Чисти код! Чисти код!
|
|
Gooddy (статус: 3-ий класс), 27 мая 2009, 17:25 [#3]:
Так. я вот что обнаружил. свободно читаются ячейки с $400000 до $683fff
Чисти код! Чисти код! Чисти код!
|
|
Вадим К (статус: Академик), 27 мая 2009, 17:30 [#4]:
Да, код явно не рабочий. Читает, читает, а потом пишет последее чтение. исправтесь.
Во вторый, я же писал, нельзя всю память подряд читать. Есть специальные функции для того, что бы проверить, "можно ли". Например VirtualQuery
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Вадим К (статус: Академик), 27 мая 2009, 17:31 [#5]:
адрес $400000 и выше обычно читается, потому что здесь обычно размещается приложение.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Gooddy (статус: 3-ий класс), 27 мая 2009, 17:34 [#6]:
ужас. как я и думал в новые дебри кода лезть тяжело и опасно для рассудка.
Чисти код! Чисти код! Чисти код!
|
|
Вадим К (статус: Академик), 27 мая 2009, 17:36 [#7]:
Я думаю, что следует взять книжечку Рихтера и читать, читать, читать...
Правда там код на плюсах, но в данной области программирования это абсолютно не проблема.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Gooddy (статус: 3-ий класс), 27 мая 2009, 17:37 [#8]:
всё. я разобрался. теперь если что буду писать сюда дабы тему не размножать. когда закончу выложу код, чтобы другие на мои грабли не наступали.
Чисти код! Чисти код! Чисти код!
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|