| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Как увеличить значение указателя POINTER |
| Автор: BigMazy 13.11.2004, 23:12 |
| Как увеличить значение указателя POINTER проблема состоит в соедующем: имеется выделенная область памяти. Необходимо скопировать в эту область информацию, но не в начало, а со сдвигом var pDest,pSource: pointer; begin ..... // хочу скопировать со здвигом 10 байт MoveMemory(pDest+10,pSource,100); end; Комплятор выдает ошибку! Следует заметь, что если использовать не pointer, а pchar, то ошибки нет. Но мне нужно использовать POINTER. Подскажите, как рашить проблему |
| Автор: Girder 13.11.2004, 23:27 |
| Миллион способов... |
| Автор: maxim1000 14.11.2004, 00:35 |
| дело в том, что операция "p:=p+10" сдвигает указатель вперед на 10 элементов, если это ^integer, то сдвиг будет на 40 байт а в случае с p:pointer компилятор просто не знает какой размер элементов, на которые указывает p, потому и говорит об ошибке кстати, а почему нужно использовать обязательно pointer? |
| Автор: BigMazy 14.11.2004, 12:54 |
| Спасибо, разобрался Poiner я использовал, так как необходимо было получать неизвестно какие данные - просто байты |