Mam record:
type
TBaza = record
Imie: ShortString;
Nazwisko: ShortString;
Liczba: Integer;
end;
Do tego dynamiczną tablice:
var
Baza: Array of TBaza;
Zwiększam przez SetLength(Baza, Length(Baza)+1) a zwalniam przez ZeroMemory(@Baza,sizeOf(Baza));
I teraz tak, taka tablica może mieć kilkanaście tysięcy rekordów, da sie jeszcze jakoś zoptymalizować użycie RAM? W książce wspomnieli tylko coś o AllocMem ale nie wiem jak z tego skorzystać aby było dobrze.
Przykład:
Begin
Baza := AllocMem(SizeOf(TBaza));
SetLength(Baza, Length(Baza)+1);
Baza^[High(Baza)].Imie := 'Maciej';
Baza^[High(Baza)].Nazwisko := 'Kowalski';
........
FreeMem(Baza);
End;
Czy to jest dobrze? FreeMem używam wtedy gdy nie potrzebuje już w ogóle tablicy, tj. przy zamykaniu aplikacji i nie musze już stosować ZeroMemory(@Baza,sizeOf(Baza));? Z góry dzięki.