Неадекватно работает процедура move в Lazarus

Такой вопрос, мне нужно скопировать данные из одной переменной тип Pbyte в другую тип Pointer в цикле с некоторыми изменениями набросал такой код:

while icnt<codec_context^.height - 1 do
 begin
  move(pByte(integer(pFrameYUV420P^.data[0])+ codec_context^.width * 4 * icnt)^,pData, codec_context^.width * 4);
  inc(icnt);
 end;  

но после выполнения move переменной icnt присваивается значение -16777216 как с этим бороться? И еще если вместо:

 codec_context^.width * 4

ввести значение меньше 16 цикл начинает работать нормально, но копируются не все данные.


Ответы (0 шт):