Objektvariablen verwenden

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Das Delegationsmodell verwenden - Index

Sie können Objektvariablen anderen Objektvariablen zuweisen, falls die Variablen denselben Typ haben oder zuweisungskompatibel sind. Das heißt, Sie können eine Objektvariable einer anderen zuweisen, wenn der Typ der Variablen, der die Variable zugewiesen wird, ein Vorfahr des Typs der Variablen ist, die zugewiesen wird. Als Beispiel folgt unten die Typdeklaration von TSimpleForm und ein Abschnitt mit den beiden Variablendeklarationen für AForm und Simple:

type
  TSimpleForm = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
  private
    { private-Deklarationen }
  public
    { public-Deklarationen }
  end;
var
  AForm: TForm;
  SimpleForm: TSimpleForm;

AForm hat den Typ TForm, SimpleForm hat den Typ TSimpleForm. Weil TSimpleForm ein Nachkomme von TForm ist, ist die folgende Zuweisung erlaubt:

AForm := SimpleForm;

Angenommen, Sie schreiben die Ereignisbehandlungsroutine für das Ereignis OnClick einer Schaltfläche. Wird die Schaltfläche angeklickt, wird die Ereignisbehandlungsroutine für das Ereignis OnClick aufgerufen. Jede Ereignisbehandlungsroutine hat den Parameter Sender vom Typ TObject:

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

Weil Sender den Typ TObject hat, kann ihm jedes Objekt zugewiesen werden. Der Wert von Sender ist immer das Steuerelement oder die Komponente, die auf das Ereignis reagiert. Mithilfe des reservierten Worts is können Sie Sender abfragen, um den Typ der Komponente oder des Steuerelements zu ermitteln, die bzw. das die Ereignisbehandlungsroutine aufgerufen hat. Beispiel:

if Sender is TEdit then
  DoSomething
else
  DoSomethingElse;

Siehe auch