W aplikacji mam kilka tablic ze zmiennymi globalnymi i potrzebuje pomiędzy obliczeniami zwolnić pamięć niektórych z nich by dalsze obliczenia były możliwe.
var
Gamma, F,G, dC: extended;
a,b: integer;
begin
a:=14000;
b:=200;
SetLength (Gamma, a, b);
SetLength (G, a, b);
SetLength (F, a, b);
SetLength (dC, a, b);
//Tu są obliczenia na tych tablicach ///
end;
Problem polega na tym że każda z powyższych tablic zajmuje ok 320 Mb pamięci, a ze względu na wymaganą dokładność obliczeń nie mogę zmienić typów zmiennych.
Próbowałem zwalniać pamięć stosując:
ZeroMemory(@Gamma, sizeof(Gamma)); SetLength (Gamma, 0, 0);
ZeroMemory(@G, sizeof(G)); SetLength (G, 0, 0);
ZeroMemory(@F, sizeof(F)); SetLength (F, 0, 0);
ZeroMemory(@dC, sizeof(dC)); SetLength (dC, 0, 0);
Niestety nie przynosi to rezultatów. Jak mogę zwolnić tą pamięć?