Мельница данных  (30.03.2020)
Интерфейс автоматизации
Взаимодействие внешних приложений с QueryBuilder'ом осуществляется при помощи интерфейса
  IApplication = interface(IDispatch)
    ['{0E59D500-7A6A-43CA-8007-B7BB7E393CD4}']
    procedure Execute(const Provider: IUnknown; var Query: OleVariant); safecall;
    procedure ExecuteTemplate(const Provider: IUnknown; var Query: OleVariant; 
      const TemplateName: WideString); safecall;
    property Visible: WordBool;
  end;
  • Свойство Visible определяет видимость приложения
  • Процедура Execute осуществляет выполнение запроса. Первым параметром является объект-провайдер (созданный заранее внешним образом и установивший соединение с БД также заранее). Вторым параметром может быть передано значение, представляющее структуру запроса. Это может быть либо строка с указанием имени файла, либо объект, реализующий интерфейс IStream (например, MSXML.DOMDocument ), либо строка, представляющая собой xml-документ. Все средства манипуляции структурой и поведением запроса предоставляются на уровне работы с xml-документом, описывающим запрос.
  • Процедура ExecuteTemplate осуществляет выполнение запроса и применяет к результатам шаблон с именем, переданным в параметре TemplateName. Первые два параметра аналогичны параметрам метода Execute
Интерфейс автоматизации может быть использован в тех случаях, когда необходима интергация QueryBuilder'a в третьестороннюю информационную систему.