Статическое приведение типа |
Имея ссылку на VIP-интерфейс или на один из реализуемых им объектных интерфейсов, бывает необходимо получить ссылку на другой объектный интерфейс, реализуемый этим же VIP-интерфейсом. Синтаксически получение такой ссылки выглядит как приведение типа.
<приведение_типа> ::= <объектный_интерфейс> "(" <ссылка_на_интерфейс> ")" ";"
<объектный_интерфейс> - имя объектного интерфейса к типу которого надо привести ссылку.
<ссылка_на_интерфейс> - переменная типа ссылки на интерфейс. Переменная должна быть проинициализирована. Если ссылка не инициализирована, либо ссылается на VIP-интерфейс, не реализующий требуемого объектного интерфейса, то возвращается пустая ссылка (пустое значение можно проверить с помощью функции NullVipRef).
Пример.
var oj1 : ObjExapmle; oj2 : Obj2; begin LoadVipRef(oj1,'MyPublicVip'); oj2 := Obj2(oj1); ...