Функция LoadVipRef Назад В начало Вперед

Назначение

Функция LoadVipRef создает индивидуальный экземпляр указанного ей Vip-интерфейса, и формирует ссылку на ObjInterface того типа, к которому принадлежит переменная типа ссылки. Интерфейсу передаются инициализирующие события cmOnVipLoad и cmOnVipUse.

Функция LoadVipRef всегда создает новую загруженную копию интерфейса.

В случае, если указанный Vip-интерфейс не реализует ObjInterface с именем, который является типом переменной ref, возбуждается исключение ExObjIfcNoImpl.

Проверяется - соответствует ли переменная типа ссылки запрошенной операции. Это означает, что для функции LoadVipRef

Первый параметр обязательно должен быть переменной типа ссылки на objInterface. Если это условие нарушено, то будет возбуждено исключение ExObjIfcBadVar.

Описание

function LoadVipRef (var ref : VarOfInterFaceType;
					 str : string) : boolean;

Параметры

ref - переменная типа ссылки на объектный интерфейс. В результате исполнения функции ссылка получает значение ссылки на указанный объектный интерфейс загруженной копии VIP-интерфейса (если запрошенный VIP-интерфейс реализует данный объектный интерфейс).

str - строковое выражение, задающее имя VIP-интерфейса, который должен быть загружен.

Возвращаемое значение

Функция возвращает true, если VIP-интерфейс успешно загружен, иначе false.

Если переменная была инициализирована до вызова функции, то происходит освобождение занятой ссылки.

Если в загружаемом интерфейсе в обработчике cmOnVipLoad выполнился Abort, функция возвращает false. При этом не возникает никаких исключений, а переменной присваивается NullRef.

Исключения:

Пример

Загружается VIP-интерфейс interf1, реализующий объектный интерфейс MyObjInterface1.

........
var
  a : MyObjInterface1;
...........
LoadVipRef (a,'interf1');

Версия

Начиная с Атлантис 5.0.02.