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:

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;
avec

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;
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.

J'avais une solution similaire en CBuilder mais j'attribuais un pointeur sur les Bitmaps. Solution que je n'arrive pas bien à reconduire ici.