Zauważyłem jedną rzecz:
mam sobie formę główną, w niej TabPager. Gdy przeglądam sobie poszczególne taby to zużycie pamięci w menedzerze jednarozowo rośnie(nie nie, wycieków nie ma). Gdybym miał każdą zakładkę jako osobna forme to nie byloby problemu: dynamicznie utworzyć i zwolnić zasoby. A tu jakieś mam wyjście zeby oczyscic pamiec ? Tworzenie dynamicznie tabpagera i kazdych jego elementow na klik tab'a jest niewygodne(gdy chce sobie cos zmienic/dodac wizualnie).
Gdy zuzycie wzrosnie do okolo 60MB wywala mi czasem windowsowy komunikat o przekroczonych zasobach.
Aplikacja jest dosc duza, w kazdym tabie po kilka gridow, czytanych danych z bazy. Cos sie da poradzic ? TabPager jest najporeczniejszy, gdybym mial wszystko jako osobne formy, to uzytkowanie staloby sie niewygodne.
Znalazlem takie cos w google:
MainHandle := OpenProcess(PROCESS_ALL_ACCESS, false, GetCurrentProcessID) ;
SetProcessWorkingSetSize(MainHandle, $FFFFFFFF, $FFFFFFFF) ;
CloseHandle(MainHandle) ;
Dalem w Timer co minute to, dziala niezle(czysci z 60MB do 8MB)
Ale prawde mowiac nie lubie okreznych dróg.
Moglby ktos powiedziec takze CO DOKLADNIE to robi, i czy to jest bezpieczne ?