3.7.3 Варианты и интерфейсы

На верх  Назад  Вперёд

Замечание:

Поддержка интерфейс диспетчиризации (dispatch) для типов variant в настоящее время нарушена в компиляторе.

Переменные типа variant (variants) могут содержать ссылку на интерфейс - обычный интерфейс (наследовано от IInterface) или интерфейс диспетчеризации (наследовано от IDispatch). Переменные типа variant содержат ссылку на интерфейс диспетчеризации могут быть использованы для управления объектом: компилятор использует позднее связывание для вызова функции интерфейса: не выполняется никакой проверки на допустимость имен функций, параметров или аргументов этих функций. Тип результата тоже не проверяется. Компилятор просто вставит код, для чтобы сделать вызова и получения результата.

Это значит, что вы можете сделать в Windows следующее:

Var

  W : Variant;

  V : String;

 

begin

  W:=CreateOleObject('Word.Application');

  V:=W.Application.Version;

  Writeln('Установленная версия MS Word: ',V);

end;

Стока

V:=W.Application.Version;

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