Справочник по компонентам 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 в контейнер.