4. COM/OLE¶
-
GetActiveOleObject
(ClassName: String): IDispatch¶ Метод возвращает ссылку на IDispatch интерфейс COM объекта.
Parameters: ClassName (String) – Класс зарегистрированного COM объекта. Return type: IDispatch
-
CreateOleObject
(ClassName: String): IDispatch¶ Функция содает Ole объект от зарегистрированного в системе класса ClassName.
Parameters: ClassName (String) – Имя класса OLE объекта. Return type: IDispatch <pascal> O := CreateOleObject('Outlook.Application'); NameSpace := O.GetNameSpace('MAPI'); InBox := NameSpace.GetDefaultFolder($00000006); n := 0; s := ''; for i := 1 to InBox.Items.Count do begin Mail := InBox.Items.Item(i); if Mail.UnRead then begin inc(n); s := s + ' <' + Mail.SenderEmailAddress + '>' + ' EntryID = ' + Mail.EntryID + #13#10; end; end; ShowMessage('Непрочитанных писем в папке InBox: ' + VarToStr(n) + #13#10 + s); O.Quit; </pascal>
4.1. IEnumVariant¶
-
class
IEnumVariant
¶ Класс предоставляет возможность последовательно обойти все элементы коллекции OLE-объекта. Функционал аналогичен оператору
For Each
в VB, или классуEnumerator
в JavaScript.Подробнее о методах можно узнать в MSDN
Для всех методов: возвращаемое значение равное нулю означает успешное выполнение.
-
Skip
(Cnt: Integer): Integer¶ Пропускает заданное количество элементов.
Parameters: Cnt (Integer) – Число элементов, которые необходимо пропустить. Return type: Integer
-
Reset
(): Integer¶ Сбрасывает перебор элементов на начало коллекции.
Return type: Integer
-
Next
(ScCnt: Integer; Item: IDispatch; ScrCnt: Integer): Integer¶ Метод извлекает следующий элемент коллекции в параметр Item. Параметры ScCnt и ScrCnt - соответственно: сколько нужно извлечь элементов и сколько было фактически извлечено. Настоятельно рекоммендуется всегда извлекать последовательно по одному элементу.
Parameters: - ScCnt (Integer) – Количество элементов, которые необходимо извлечь.
- Item (IDispatch) – Извлечённый элемент.
- ScrCnt (Integer) – Количество фактически извлечённых элементов.
Return type: Integer
-
4.2. TOleContainer¶
-
class
TOleContainer
¶ Компонент ялвялется контейнером OLE объектов. В нем можно создать и отобразить экземпляр Microsoft Office Word, Excel.
-
CreateObjectFromFile
(FileName: String; Iconic: Boolean)¶ Создает новый OLE объект из файла. Определяет тип OLE класса по имени файла. Параметр Iconic опеределяет как будет созда объект, как инонка иил как встраиваемый контрол.
Parameters: - FileName (string) – Имя файла
- Iconic (Boolean) – Создать свёрнутым
-
CreateObject
(OleClassName: String; Iconic: Boolean)¶ Создает новый OLE объект по имени класса объекта. Параметр Iconic опеределяет как будет созда объект, как инонка иил как встраиваемый контрол.
Parameters: - OleClassName (string) – Имя класса
- Iconic (Boolean) – Создать свёрнутым
-
DoVerb
(Verb: Integer)¶ Запрашивает OLE контрол выполнить некоторые действия. Метод следует вызвать только когда форма видима, инача будет возбуждено исключение, на попытку уставить фокус на OleContainer. Объявлены следующие константы:
- ovShow
- ovOpen
- ovHide
- ovUIActivate
- ovInPlaceActivate
- ovDiscardUndoState
- ovPrimary (действие по умолчнию)
Parameters: Verb (Integer) – Код команды
-