Справочник по компонентам Delphi. Часть 3 - Компонент TOLEContainer
ОГЛАВЛЕНИЕ
Компонент TOLEContainer
TObject->TPersistent -> TComponent->TControl -> TWinControl -> •>TCustomControl -> TOLEContainer
Модуль TOCTRL
Страница Палитры компонентов System
Загрузить объект OLE в контейнер можно тремя путями:- созданием нового объекта или связыванием с уже существующим через вызов диалога InsertOLEObjectDIg;
- "перетаскиванием" объекта из сервера OLE в форму, содержащую контейнер, с помощью Drag&Drop;
- помещением объекта из буфера обмена (посредством вызова диалога PasteSpecialDIg).
Общим является то, что во всех трех способах формируется поначалу определенная структура данных (типа BOLEInitInfo). Она является "визитной карточкой" сервера OLE и его данных. Как только значение указателя на нее присваивается свойству контейнера
property PInitInfo: Pointer;
происходит процесс внедрения или связывания объекта. При этом может произойти активизация сервера. Несколько примеров использования этого свойства рассмотрено ниже.
Сразу после присвоения значения свойству контейнера PInitInfo потребность в созданной структуре отпадает. Ее можно уничтожить при помощи процедуры:
procedure ReleaseOLEInitInfо(PInitInfo: Pointer);
Контейнер, однако, продолжает хранить содержащуюся в этой структуре информацию. Для доступа к ней нужно воспользоваться свойством:
property Initlnfo: BOLEInitInfo;
Тип BOLEInitInfo не документирован Borland и его описание здесь не приводится.
Ниже будут подробнее рассмотрены все три варианта загрузки объекта OLE в контейнер.