Einzelnen Beitrag anzeigen

Hoelderlein

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

speicher wächst und wächst bei TBitmap Appl

  Alt 21. Jan 2009, 20:51
Hallo erstmal,

bin neu hier, hab kein Platz zum vorstellen gefunden also Hallo an alle.

Vorab, bin kein Programmierprofi in Delphi, komm ganz gut zurecht mach aber scheinbar ab und zu noch drastische Fehler. Von Haus aus programmier ich eher SPS und industrielle Kamerasysteme.

Nun zum Thema:

Hab vor 1,5 Jahren ein Projekt in Delphi ohne Vorkenntnisse angefangen. Hab jetzt ein Programm bei dem ich 60 Fotos von einem sich drehendem Objekt mache. Diese in meine Software integriere und per scrollbar das Objekt in 60 Schritten um die eigene Achse drehen lassen kann. Ich kann bis zu 30 Objekte in die Software einbinden.

Hab in der Signatur die Add. zur UNKOMMERZIELLEN Homepage

Also viel viel Bilder in JPG. Hatte eigentlich gedacht ich bin zu 99% fertig. Jetzt stell ich fest das ich ein riesen Speicherproblem hab.

Hab mich mal mittels suche schlau gemacht und gelernt das es z.B. free gibt und z.B. das lokale Variablen keinen Speicherplatz mehr beanspruchen wenn z.B. die Prozedur beendet wird.

Hätt ich mich besser mal vorher schlau gemacht.

Hab also ein TImage in dem Angezeigt wird und je nach Schiebereglerstand 60 Verschiedene Fotos. Alle diese Fotos liegen in 60 getrennten globalen Variablen (z.B. BM1 bis BM60) und werden in verschiedenen Proceduren verwendet.

Ich lade also z.B. in der Proc >> Objekt_Laden << Das Bild in die Globale variable (Hier 1 von 60)

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

In einer anderen Procedur wird je nach Scrollbarstand das dementsprechende Bild weggeschrieben

if (SUB_ScrollBar.Position = 1) Then // Bild 1
BEGIN
SUB_Bitmap1 := LoadGraphicsFile(SUB_STR_Pfad_PR_ZOOM +'PIC_01.JPG'); SUB_Bitmap := SUB_Bitmap1;
END;

Dann hab ich zu aller verwirrung noch die Möglichkeit in einer anderen Procedur das Objekt in drei verschiedenen auflösungen zu laden.


Muß sagen fuktioniert alles wunderbar bis auf mein Speicherproblem.

Gibt`s noch Hoffnung auf eine "kleine Programmanpassung" ????
Ich denke eines meiner Hauptprobleme ist das ich mich dafür entschieden hatte die Bilder in globale Variablen zu schreiben. Da ich gelesen habe nach ende der Procedur wird Speicher wieder frei gemacht.

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