Es so grosses Array (32768 * 8 = 256 kb) sollte man nicht auf dem Stack sondern dynamisch auf dem Heap anlegen.
Delphi-Quellcode:
var
Hilfsarray : array of double;
...
Grenz := trunc(Zoombereich / UmrFaktorFFT);
SetLength(Hilfsarray, Grenz); // Grösse dynamisch festlegen
Somit ist auch sichergestellt, dass es zu keinem "Index-out-of-Range" Fehler kommen kann.
Folgende Zeilen machen
IMHO keinen Sinn:
Delphi-Quellcode:
NormValue := 0; // wozu auf 0 setzen, wenn die Variable später geändert wird ?
// warum wird die Variable NormValue x-Mal mit dem gleichen Wert befüllt ?
// Summe * (1-(1/fn))*100 ist eine Konstante, da nicht abhängig von Laufvariable i
for i:= 2 to Grenz do
NormValue := Summe * (1-(1/fn))*100;