Thema: Delphi Frage zum "is"-Operator

Einzelnen Beitrag anzeigen

Mikkey

Registriert seit: 5. Aug 2013
265 Beiträge
 
#7

AW: Frage zum "is"-Operator

  Alt 23. Jan 2014, 15:57
Anscheinend liefert der 'is' immer true, wenn die Referenz den passenden Typ hat, das lässt sich nachvollziehen.

Wenn Du aber den Code in dieser Form abänderst:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  stringList : TStringList;
  obj : TObject;
  control : TWinControl;
begin
  stringList := (TStringList.Create);
  obj := TObject(stringList);

  if (obj is TWinControl)
  then ShowMessage('True')
  else ShowMessage('False');

  obj := Button1;
  if (obj is TWinControl)
  then ShowMessage('True')
  else ShowMessage('False');
end;
Wird zuerst eine Box mit "false" und dann eine mit "true" gezeigt, so wie man es auch erwarten würde.
  Mit Zitat antworten Zitat