![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
из массива в массив [D7]
ЕгкищЗфысфд © (2006-09-18 17:24:00)Есть массив
Data: array[0..7900 - 1] of Byte;
Необходимо из него скопировать данные в другой массив
NData: array[0..16] of Byte;
С позиции DataLen в массиве Data.
Пробовал вот так, но не выходит:
Move(Data[DataLen], NData[0], 16);
ЕгкищЗфысфд (2006-09-18 21:47:00) [1]Да, с помощью отладчика вроде нашел свое упущение. Всем спасибо!
Плохиш (2006-09-18 21:23:00) [2]
> ЕгкищЗфысфд (18.09.06 18:01) [4]
Осталось выяснить, что же это такоеDataи где оно создаётся.
Loginov Dmitry (2006-09-18 21:18:00) [3]ЕгкищЗфысфд (18.09.06 18:01) [4]
Встроенный отладчик для кого придумали?
Используй F5, F7, F8 ...
Palladin (2006-09-18 18:43:00) [4]единственное что могу сказать: либо в цикле Data неопределен (указатель кудато за пределы видимой вселенной) либо CurrentDataLen+16 выходит за рамки массива
ЕгкищЗфысфд (2006-09-18 18:01:00) [5]Ну тогда немного расширю ситуацию применения:
PMyData = ^TData;
TData = record
Data: array[0..7900 - 1] of Byte;
....
end;
TNData: array[0..15] of Byte;
function GetVariable(MyData: PMyData; DataLen: Word): TNData;
begin
Move(MyData^.Data[DataLen], Result[0], 16);
end;
Вызываю так:
for i := 1 to BigZ do begin
GetVariable(Data, CurrentDataLen);
..........
Palladin (2006-09-18 17:50:00) [6]На основании информации представленной в вопросе, могу сказать что неработать недолжно. Ошибка в другом месте.
ЕгкищЗфысфд (2006-09-18 17:48:00) [7]В смысле? что не работает или что должно работать?
Не работает, выбивает в AV.
Palladin (2006-09-18 17:44:00) [8]И на основании чего ты зделал этот вывод?