Справочник функций и процедур Delphi: As

  Навигация по первой букве:

A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z

  Навигация по категории:

Compiler directives, Directives, Keywords / Types, Variables, Constants / Functions, Procedures

  Реклама:

 

As
Ключевое слово
Используется для приведения объектных ссылок unit
  
1 Object reference as Class type

2 Object reference | Interface reference as Interface type

Google  
 
Описание
Ключевое слово As используется для приведения объектов или интерфейсов от одного типа к другому.

Приведение позволяет объекту быть упомянутым родительским типом класса. Например, все объекты могут упомянуться, как тип класса TObject :

button1 := Button1 as TObject;

Если объект уже был приведен к родительскому типу класса, то разрешается приведение к правильному дочернему типу класса. Код примера показывает это для объекта класса TForm класса, когда он передаётся как тип TObject к методу формы OnCreate.
Примечания
Используйте ключевое слово Is для проверки качеств приведения прежде чем испытывать приведение.

При попытке использования значения недопустимого приведения оно выдает EInvalidCast.
Похожие команды
Is  Проверяет, является ли объект потомком класса или его родителем

 
Пример кода : Приведение используя традиционное приведение и приведение as
var
  myForm  : TForm;
  myForm1 : TForm1;

  myByte  : Byte;
  myChar  : Char;

begin
  myByte := 65;

  // Приведение этого Byte к Char, используя стандартный метод приведения
  myChar := Char(myByte);
  ShowMessage('Стандартное приведение myByte к Char = '+myChar);

  // Приведите Form к myForm, используя стандартное приведение
  myForm := TForm1(Sender);
  ShowMessage('Используя стандартное приведение Sender = '+myForm.Caption);

  // Cast the form using the as keyword
  myForm := Sender As TForm;
  ShowMessage('Sender как допустимый порожденный = '+myForm.Caption);

  myForm := Sender As TForm1;
  ShowMessage('Sender сам непосредственно = '+myForm.Caption);

  // Создание нового объекта TForm, а не TForm1
  myForm := TForm.Create(self);
  myForm.Caption := 'New form';

  // Стандартное приведение не делает никакой проверки, если мы приводим TForm к TForm1
  myForm1 := TForm1(myForm);
  ShowMessage('Стандартное приведение к неправильному порожденному = '+myForm1.Caption);

  // Приведение используя 'as' отклоняющего приведение к недопустимому дочернему объекту
  myForm1 := myForm As TForm1;
  // Следующие приведения ошибки EInvalidCast
  ShowMessage('Приведение As к плохому типу = '+myForm1.Caption);
end;
Стандартное приведение myByte к Char = A
Используя стандартное приведение Sender = Form1
Sender как допустимый порожденный = Form1
Sender сам непосредственно = Form1
Стандартное приведение к неправильному порожденному = New form

EInvalidCast error : 'Invalid cast type'
 


Copyright © 2004-2016 Delphi Sources (источник – "DelphiBasics.ru")
 


Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook