Библиотеки методов на языке VIP Назад В начало Вперед

Функции и процедуры в Атлантисе реализуются через сущность interface (см. "Реализация объектов. "), которые публикуют свою функциональность через objInterface (см. "Объектные интерфейсы. ").

Интерфейс, реализующий статические методы (см. "Описание функции и процедуры. " и "Описание объектов (vip-интерфейсы). ") является библиотекой функций.

Описание глобальных библиотек функций реализуется через специальный описатель global, в котором указываются имена интерфейсов, являющихся глобальными библиотеками функций:

<описание-глобальных-библиотек-функций> =
	global [ <vip-интерфейс> ] ( [, <vip-интерфейс> ] );

Методы, которые используются в библиотеке функций, должны быть объявлены в vip-интерфейсе как статические при помощи квалификатора static.

Для того чтобы использовать методы глобальных библиотек необходимо просто вызвать эту функцию. Если два и более vip-интерфейсов библиотеки содержат методы с одинаковыми именами их надо вызывать как обычные статические методы, указывая полное имя:

<квалифицированное-имя-метода> = <vip-интерфейс>::<имя-метода>

Примеры

Пример 1.

// Описываем интерфейс, содержащий статические методы
vipInterface IGLib;
		static:
				function GetName : string;
end;

...

// Объявляем vip-интерфейс как глобальную библиотеку функций
global IGLib;

...

// Вызываем метод из библиотеки
str := GetName;

Пример 2.

// Описываем интерфейсы, содержащие статические методы
// с одинаковыми именами
vipInterface IGFirstLib;
		static:
				function GetName : string;
end;

vipInterface IGSecondLib;
		static:
				function GetName : string;
end;

...

// Объявляем vip-интерфейсы как глобальную библиотеку функций
global IGFirstLib, IGSecondLib;

...

// Вызываем метод первого vip-интерфейса из библиотеки
str := IGFirstLib::GetName;

Версия

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

Оглавление раздела

Функция RegisterGlobalIfc