Справочник функций и процедур 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

Delphi Sources

Описание
Ключевое слово 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'
 


Последние добавленные на сайт исходники

DeLiKaTeS Tetris (Тетрис)

TDictionary Custom Sort

Fast Watermark Sources

3D Designer

Sik Screen Capture

Patch Maker

 

Айболит (remote control)

ListBox Drag & Drop

Доска для игры Реверси

Графические эффекты

Рисование по маске

Перетаскивание изображений

 

Copyright © 2004-2024 "Delphi Sources" by BrokenByte Software (источник – "DelphiBasics")

Группа ВКонтакте