[Delphi] Jak zwolnić zasoby systemu

0

Jak zwolnić zasoby komputera, po wczytaniu 200 plików BMP, były wczytywane pokolei do jednego komponentu IMAGE, tak jak przeglądarka, ale im więcej przeglądne zasoby maleją, dopiero po zamknijęci programu zwolniają się !

0

var
Bitmapa: TBitmap;
begin
Bitmapa := TBitmap.Create;
...
Bitmapa.Free;

0

To nie działa, spróbuj powyrzszą procedure wywołać 200 razy na różnych plikach bez wychodzenia z programu ! :-(

0

To nie działa, spróbuj powyrzszą procedure wywołać 200 razy na różnych plikach bez wychodzenia z programu ! :-(

Program testujący:

var
Search: TSearchRec;
Bitmapa: TBitmap;
begin
if FindFirst('d:\bmp\*.bmp', faAnyFile, Search) = 0 then
repeat
if (Search.Name '.')and(Search.Name '..') then
begin
Bitmapa := TBitmap.Create;
Bitmapa.LoadFromFile('d:bmp'+Search.Name);
ListBox1.Items.Add(Search.Name);
Bitmapa.Free;
end;
until FindNext(Search) 0;
end;

Testowałem na 209 plikach o łącznym rozmiarze 5,98 MB (nie mogłem u siebie znaleźć większych bitmap). Używam WinXP ze 128 MB ramu (czyli powinienem zaobserwować zmiany wydajności). W trakcie działania programu, zarówno przed uruchomieniem testu jak i w trakcie i po ilość zajmowanej pamięci wahała się w pobliżu 2 600 KB.
Więc nie wiem, co ci tu nie działa. Chyba, że czegoś nie zrozumiałem.

0

var
plik_bmp:TBitmap;

zwolnic ten plik plik_bmp.Free;

0

var
plik_bmp:TBitmap;

zwolnic ten plik plik_bmp.Free;

Człowieku, czy ty w ogóle czytasz co inni wcześniej napisali? Teraz nic nie robię tylko siedzę i usuwam średnio co drugą twoją odpowiedź na forum, ponieważ jest albo idiotyczna, albo powtórzeniem tego co już zostało napisane.

0

Nie wiem, żadnych problemów nie macie, ale wczytajcie nie duże tylko małe pliki i dużo, napisałem program do generowania gelerii http://www.rit.prv.pl/ritsee graficznych system zawiesza się, a przecież zwalniam każdy rysunek TBitmap.free; program możecie sobie ściągnąć (http://www.rit.prv.pl/ritsee). I popracujcie trochę z tym programem na 200 lub więcej plików graficznych, mi zawiesza się system po ok, 500.

1 użytkowników online, w tym zalogowanych: 0, gości: 1