ObjectARX, AutoCAD. Среда программирования библиотеки C++

AcAxOleLinkManager


AcAxOleLinkManager используется, чтобы управлять связью от объекта резидента базы до его объекта COM. Это сделано,  прикрепляя переходный реактор к AcDbObject. Переходный реактор имеет одну переменную, содержащую IUNKNOWN объекта COM. Этот переходный реактор также используется, чтобы вызвать IACADBASEOBJECT:: OnModified () когда AcDbObject изменяется.

Получить указатель на OLE связывают менеджера, используют AcAxGetOleLinkManager (). AcAxOleLinkManager класс описан ниже:

// AcAxOleLinkManager

используется, чтобы поддержать связь между объектами ARX и их соответствующей оберткой COM.

//

class AcAxOleLinkManager

{

public:

// Учитывая указатель на объект резидента базы, возвратите IUNKNOWN

//  обертки COM. NULL возвращен, если никакая обертка не найдена.

//

virtual IUnknown* GetIUnknown(AcDbObject* pObject) = 0;

// Установить связь между объектом резидента базы и оберткой COM.



//  Если IUNKNOWN

- NULL, то связь удалена.

//

virtual Adesk::Boolean SetIUnknown(AcDbObject* pObject, IUnknown* pUnknown) = 0;

// Учитывая указатель на объект базы данных, возвратите IUNKNOWN

// обертки COM. NULL возвращен, если никакая обертка не найдена.

//

virtual IUnknown* GetIUnknown(AcDbDatabase* pDatabase) = 0;

// Установить связь между объектом базы данных и оберткой COM.

// Если IUNKNOWN

- NULL, то связь удалена.

//

virtual Adesk::Boolean SetIUnknown(AcDbDatabase* pDatabase,

IUnknown* pUnknown) = 0;

// Учитывая указатель на объект базы данных, возвратите IDISPATCH объекта документа.

// NULL возвращен, если база данных не принадлежит специфическому документу.

//

virtual IDispatch* GetDocIDispatch(AcDbDatabase* pDatabase)= 0;

// Установить связь между объектом базы данных и IDISPATCH

документа, которому

// это принадлежит. Если IDISPATCH

- NULL, то связь удалена.

//

virtual Adesk::Boolean SetDocIDispatch(AcDbDatabase* pDatabase,

IDispatch* pDispatch) = 0;

};



Содержание раздела