Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.18;
Скачать: CL | DM;

Вниз

память   Найти похожие ветки 

 
Витёк   (2005-06-28 04:33) [0]

Подскажите пожалуйста, как изменить значение числа, зная его адресс в памяти! Например изменить память по адресу 00BA1796.


 
Дмитрий Д.   (2005-06-28 06:38) [1]

http://delphiworld.narod.ru/base/share_dll_mem.html


 
Digitman ©   (2005-06-28 08:15) [2]

PInteger($BA1796)^ := ..


 
Дмитрий Д.   (2005-06-28 08:20) [3]

Я вот думаю насколько просто это было бы сделать в Сях!
Кстати, а в делфи можно переменной присвоить произвольный адрес в памяти без использования каких-либо функций, т.е. средствами языка. Я поигрался с указателями, но что-то не прокатило :-)

По логике:

var buf: array[0..9] of char;
...
@buf := Pointer($00BA1796);

Но это, определенно, не правильно и не работает.

Просьба сильно не плеваться, т.к. в делфи я копаюсь для души, а моя профессиональная деятельность не имеет отношения к системному программированию.


 
Digitman ©   (2005-06-28 08:32) [4]


> просто это было бы сделать в Сях


в ОР не менее просто


> По логике:
>
> var buf: array[0..9] of char;
> ...
> @buf := Pointer($00BA1796);
>
> Но это, определенно, не правильно и не работает


конечно неправильно.

var buf: ^array[0..9] of char; // char *buf[10]
...
buf := Pointer($00BA1796); //buf = (char*)0x00ba1796


 
evvcom ©   (2005-06-28 08:43) [5]


> По логике:
>
> var buf: array[0..9] of char;

По логике у тебя переменная buf жестко компилятором привязана к адресу памяти, по которому лежат 10 символов. А тебе по логике нужен указатель на данные, т.е. см. [4].


 
Юрий Зотов ©   (2005-06-28 08:50) [6]

> Дмитрий Д.

> насколько просто это было бы сделать в Сях!

И действительно - ну что может быть сложнее [2]?

> По логике:
> var buf: array[0..9] of char;
> @buf := Pointer($00BA1796);

Выделение памяти под buf мы сначала поручили компилятору, а потом вдруг решили назначить ее адрес сами - где же тут логика? Разве в сях можно сначала объявить статическую переменную, а потом взять - да и изменить ее адрес вручную?


 
Дмитрий Д.   (2005-06-28 08:50) [7]

Ошибку понял. Однако [4] в D6 выдает: [Error] Unit1.pas(20): Identifier expected but "ARRAY" found
20-я строка это как раз и есть var buf: array[0..9] of char;
Хотя уже не суть важно, смысл понятен.


 
Дмитрий Д.   (2005-06-28 08:51) [8]

Сорри 20-я строка это: buf: ^array[0..9] of char;


 
Digitman ©   (2005-06-28 08:55) [9]


> Дмитрий Д.   (28.06.05 08:51) [8]


type TMyArray = array[0..9] of char;
var buf: ^TMyArray;
...

buf := Pointer($00BA1796);


 
Дмитрий Д.   (2005-06-28 09:00) [10]

Digitman, да-да-да! Можно начинать писать Loader для шароварной проги. Шутка :)


 
default ©   (2005-06-28 09:00) [11]

это скорее попытаться изменить:)



Страницы: 1 вся ветка

Текущий архив: 2005.07.18;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.024 c
1-1119655025
Канвас
2005-06-25 03:17
2005.07.18
Как сделать надпись на картинке через Canvas, чтобы она была проз


1-1119909456
grol
2005-06-28 01:57
2005.07.18
Ошибка после закрытия программы!!!


14-1119623829
WondeRu
2005-06-24 18:37
2005.07.18
Ошибка "Класс TQuery не найден"


1-1119615468
heckfy1
2005-06-24 16:17
2005.07.18
Настройка принтера


14-1119723874
Иксик
2005-06-25 22:24
2005.07.18
Как легче всего доехать из Москвы в Питер?