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

Вниз

Указателю на динамический массив значения после 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.016 c
1-1381
Dimon
2003-08-16 19:27
2003.09.01
Синтаксис С++:(seen_eap |= PW_MESSAGE); Как это выгл. в Delphi??


14-1558
sniknik
2003-08-11 22:59
2003.09.01
Linux C/C++ with IDE (???)


1-1485
Tahion2
2003-08-18 12:34
2003.09.01
Как сделать универсальный DateTimeToStr?


1-1386
AlexLP
2003-08-16 16:55
2003.09.01
Перемещение файлов


14-1623
wl
2003-08-13 14:41
2003.09.01
Опять форум атаковали....