Dein
Delphi-Quellcode:
TimedLevel = record
frequency : array [0..1, 0..SA_BUFFER_SIZE-1] of byte;
erfasst doch 2048 Byte wenn SA_BUFFER_SIZE = 1024 ist.
Sie sind nur nicht hintereinander angeordnet sondern untereinander.
Kannst Du nicht erst die VisData.frequency[0,i] benutzen und
wenn i > 1024 ist dann VisData.frequency[1,i mod 1024].
Delphi-Quellcode:
for i:=0 to 2047 do
VisData.frequency[i div 1024, i mod 1024]:=...
Vielleicht habe ich Dein Problem auch nicht klar verstanden.
Grüße
Klaus