@venice2:
Ohne mich wirklich intensiv damit befasst zu haben:
while Q <= (SampleCount + 1) do
sollte m.E. heißen
while Q < SampleCount
.
Du greifst mit FR[Q] und FI[Q] auf die Arrays FR und FI zu.
Die Arrays sind als Array of Single deklariert und ich vermute, sie enthalten SampleCount Einträge, also die Indizes 0..SampleCount-1.
Wenn Q der Wert SampleCount erreicht, wird der Zugriff FR[Q] und FI[Q] je nach Compiler-Einstellung entweder eine
Exception auslösen oder aber irgendwelche Daten liefern, die nicht aus den Arrays stammen.
Weiß nicht, ab das das Problem ist.