Форум: "Основная";
Текущий архив: 2003.09.01;
Скачать: [xml.tar.bz2];
ВнизУказателю на динамический массив значения после GetMem Найти похожие ветки
← →
Question (2003-08-16 18:03) [0]При попытке присвоить значение типизированному указателю (локальной переменной процедуры)
p: array of bytes;
нетипизированного указателя-константы (параметра) типа Pointer (инициализированного при помощи GetMem)возникает:
Raised exception class EInvalidPointer operation with message "Invalid pointer operation".
При этом подобное присваивание встречается в программе раз 10 и нигде больше исключения не вызывает.
← →
Skier (2003-08-16 18:05) [1]>Question (16.08.03 18:03)
Хорошо бы показать проблемный код...
← →
хм (2003-08-16 20:33) [2]Память выделена по отрицательному смещению от pointer для значения длины массива?
← →
Verg (2003-08-17 11:51) [3]
> p: array of byte s;
Если эту s отбросить, то получится p - динамический массив, содержащий элементы типа byte, динамический массив имеет несколько более сложную организацию нежели кусок памяти, на который указывает pointer, посему присвоение одного другому - операция, мягко говоря, некорректная.
Динамический массив любит функцию setlength, а не getmem.
← →
Question (2003-08-17 14:21) [4]Sorry за S:)
Нужно получить индексированный доступ к элементам куска памяти, работая с ними как с байтами. Можно это сделать как нибудь иначе?
← →
MBo (2003-08-17 14:45) [5]PByteArray(адрес)[0]:=3;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.09.01;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c