4. COM/OLE¶
-
GetActiveOleObject
(AClassName: String): IDispatch¶ Метод возвращает ссылку на IDispatch интерфейс COM объекта.
Parameters: AClassName (String) -- Класс зарегистрированного COM объекта. Return type: IDispatch
-
CreateOleObject
(AClassName: String): IDispatch¶ Функция содает Ole объект от зарегистрированного в системе класса AClassName.
Parameters: AClassName (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
(ACnt: Integer): Integer¶ Описание отсутствует
Parameters: ACnt (Integer) -- Описание отсутствует Return type: Integer
-
Reset
(): Integer¶ Описание отсутствует
Return type: Integer
-
Next
(AScCnt: Integer; AItem: IDispatch; AScrCnt: Integer): Integer¶ Метод извлекает следующий элемент коллекции в параметр AItem. Параметры AScCnt и AScrCnt - соответственно: сколько нужно извлечь элементов и сколько было фактически извлечено. Настоятельно рекоммендуется всегда извлекать последовательно по одному элементу.
Parameters: - AScCnt (Integer) -- Описание отсутствует
- AItem (IDispatch) -- Описание отсутствует
- AScrCnt (Integer) -- Описание отсутствует
Return type: Integer
-
4.2. TOleContainer¶
-
class
TOleContainer
¶ Компонент ялвялется контейнером OLE объектов. В нем можно создать и отобразить экземпляр Microsoft Office Word, Excel.
-
CreateObjectFromFile
(AFileName: String; AIconic: Boolean)¶ Создает новый OLE объект из файла. Определяет тип OLE класса по имени файла. Параметр AIconic опеределяет как будет созда объект, как инонка иил как встраиваемый контрол.
Parameters: - AFileName (string) -- Имя файла
- AIconic (Boolean) -- Создать свёрнутым
-
CreateObject
(AOleClassName: String; AIconic: Boolean)¶ Создает новый OLE объект по имени класса объекта. Параметр Iconic опеределяет как будет созда объект, как инонка иил как встраиваемый контрол.
Parameters: - OleClassName (string) -- Имя класса
- Iconic (Boolean) -- Создать свёрнутым
-
DoVerb
(Verb: Integer)¶ Запрашивает OLE контрол выполнить некоторые действия. Метод следует вызвать только когда форма видима, инача будет возбуждено исключение, на попытку уставить фокус на OleContainer. Объявлены следующие константы:
- ovShow
- ovOpen
- ovHide
- ovUIActivate
- ovInPlaceActivate
- ovDiscardUndoState
- ovPrimary (действие по умолчнию)
Parameters: Verb (Integer) -- Код команды
-