Les derrivés de TSrings possdent une methode addObject(Chaine, Objet) qui permet de passer un "TObject" en plus de la chaine a afficher.
Dans ton cas ce n'est pas un objet mais un entier. Or Il faut savoir que les variables objets sont des adresses memoire, donc des entiers codés sur 4 octets.
On peut donc tres bien y passer un entier qui, tant qu'il n'est pas utilisé comme reference d'objet, ne pose pas de probleme.
En gros si on veux stocker 4 on transmet a la methode l'adresse memoire "4" sensé etre le contenu d'une variable TObject, qui ne correspond a aucun objet valide, mais tant que l'on ne se sert pas de l'objet qui est sensé etre pointé, aucun soucis.
Petit exemple : 
	
	Self.ComboBox1.Items.AddObject('Prof1', Pointer(IDProf));
 Pour le recuperer : 
	
	1 2 3 4
   |  
For i := 0 to Self.Combobox1.Items.count-1 do
  If Self.Combobox1.text = Self.Combobox1.Items[i] Then 
    IPProf := Integer(Self.comboBox1.Items.Objects[i]); | 
 Apres reste a se servir de IDProf pour le sauver dans la base ou je ne sais quoi.
						
					
Partager