Вверх ↑
Разработчик
Ответов: 26235
Рейтинг: 2140
#1: 2012-06-11 00:36:01 ЛС | профиль | цитата
Леонид, объясни мне -- как ты хочешь получить ограничение 8192, когда у тебя


function THIArrayFFT._aGetAmpl;
var
Index: integer;
begin
Result := false;
Index := ToIntIndex(Item);
if (Index < 0) or (Index > tnn - 1) then exit;
dtReal(Val, ArrayOutAmpl[Index]);
Result := true;
end;

tnn равно 16384

У тебя размер массива ArrayOutAmpl -- 8192, а значения индекса можно пихать до 16383
Естественно ArrayEnum будет пытаться читать, пока доступны индексы.



while Arr._Get(eIndex,Item) do begin
_hi_OnEvent_(_event_onItem,Item);
if FStop then break;
inc(Ind,k);
dtInteger(eIndex,Ind);
end;

Этого не произойдет в ArrayRW, тк индексы задаются извне
карма: 22

0