Utilisation de variables objet

De RAD Studio
Aller à : navigation, rechercher

Remonter à Utilisation du modèle objet - Index

Vous pouvez affecter une variable objet à une autre variable objet si ces variables sont de même type ou de types compatibles pour l'affectation. En particulier, vous pouvez affecter une variable objet à une autre variable objet si le type de la variable que vous affectez est un ancêtre du type de la variable qui est affectée. Par exemple, voici la déclaration du type TSimpleForm et une section de déclaration de variables dans laquelle deux variables sont déclarées, AForm et Simple :

type
  TSimpleForm = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;
var
  AForm: TForm;
  SimpleForm: TSimpleForm;

AForm est de type TForm et SimpleForm est de type TSimpleForm. Comme TSimpleForm est un descendant de TForm, l'instruction d'affectation suivante est valide :

AForm := SimpleForm;

Supposons que vous remplissiez le gestionnaire d'événement de l'événement OnClick d'un bouton. Quand le bouton est choisi, le gestionnaire d'événement pour l'événement OnClick est appelé. Chaque gestionnaire d'événement a un paramètre Sender de type TObject :

procedure TForm1.Button1Click(Sender: TObject);
begin
.
.
.
end;

Comme Sender est de type TObject, tout objet peut être affecté à Sender. La valeur de Sender est toujours le contrôle ou le composant qui répond à l'événement. Vous pouvez tester Sender pour déterminer le type du composant ou du contrôle qui a appelé le gestionnaire d'événement en utilisant le mot réservé is. Par exemple,

if Sender is TEdit then
  DoSomething
else
  DoSomethingElse;

Voir aussi