Einzelnen Beitrag anzeigen

Hoelderlein

Registriert seit: 21. Jan 2009
5 Beiträge
 
#3

Re: speicher wächst und wächst bei TBitmap Appl

  Alt 22. Jan 2009, 06:30
Hallo,

kann gerne noch etwas Code einfügen, ist aber denk ich sinnvoll wenn ich erst nochmal detailierter das Problem schildere.

- Ich hab also 60 Bilder auf festplatte (pro Objekt 60 * 4 Auflösungen * 10 Objekte = 2400 Bilder)
- Je nachdem welches Objekt mit welcher Auflösung geladen wird lade ich die dementsprechenden 60 Bilder in die 60 glob. Var.
- Danach kann das Objekt gedreht werden (mit Schieberegler in einer anderen Procedur)
- In der "Schiebereglerprocedur" wird einfach je nach Stand das dementsprechende Bild in das Timage geladen
- Das Ändern der Auflösung (gering - mittel - hoch) geschieht auch in einer eigenen Procedur
- Beim Zoomen wird die höchste Auflösung geladen (nur ein Bild auf dem der scrollbar gerade steht)

Das ist so vom Prinzip her die "Grundfunktion" des Programms und funktioniert alles wunderbar.

Jetzt das Problem :

Jedesmal wenn Bilder vom Datenträger in die 60 Globalen Variablen mit den Bildern geladen werden wird Arbeitsspeicher "verschwendet". Also der belegte Speicherplatz steigt mit jedem mal wo ich Objekte öffne betätige oder die Auflösung der Bilder ändere. Ich hab nicht einen Befehl drin der den Speicherplatz wieder freigibt.

Dies würde ich gerne machen bevor ich wieder Bilder vom Datenträger in die Variablen lade. Dies ist genau der Zeitpunkt bei der er die Variablen vom Speicherplatz her gesehen überschreiben bzw. erst freigeben und dann wieder belegen könnte. Dann währe das Speicherproblem beseitigt.

also kurz vor hier -->

SUB_Bitmap1 := LoadGraphicsFile(SUB_STR_Pfad_PR_3 + 'PIC_01.JPG');

Ich hab mit NIL bzw. FREE rumprobiert und keinen Erfolg gehabt.

Ich überleg mir mal wie ich ev. mehr Source hier reinkrieg und es aber noch übersichtlich bleibt. Ist viel Text im Programm ;o)

Gruß Frank
Programmierlegastemiker aus der Pfalz
http://www.hölderleins-virtuelle-objekte.de
  Mit Zitat antworten Zitat