Salut
Mon problème est le suivant:
J'ai crée un type d'objet qui s'affiche à l'écran en utilisant des Bitmaps en fonction de l'état de l'objet. Mon programme comporte plusieurs objets de ce type qui utilisent les mêmes Bitmaps d'ou l'idée de créer une TImageList avec mes Bitmaps. Par contre j'ai un soucis par rapport à l'attribution des bitmaps à chaque objet:
J'ai écrit le code suivant:
avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 V1:=t_vaisseau.Create; //création de l'objet for i:=0 to 5 do begin Bmp:=TBitmap.Create; ImageList1.GetBitmap(i,Bmp); V1.SetBitmap(0,i,0,Bmp); //attribution du bitmap end;
Dans ce code je me demande si je ne vais pas avoir une consomation excecive de mémoire du fait qu'à chaque objet t_vaisseau que je créer j'attribue des Bitmaps qui sont copiées à partir de la TImageList.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 procedure T_vaisseau.SetBitmap(Z,D,ar:integer; Bmp:TBitmap); begin FigBmp[Z,D,ar]:=Bmp; end;
J'avais une solution similaire en CBuilder mais j'attribuais un pointeur sur les Bitmaps. Solution que je n'arrive pas bien à reconduire ici.
Partager