Форум: "Основная";
Текущий архив: 2005.07.18;
Скачать: [xml.tar.bz2];
Внизпамять Найти похожие ветки
← →
Витёк (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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.039 c