Статья: Оформление класса в виде COM объекта в C++

importlib("stdole2.tlb");

typedef enum

{

valueName1 = 0,

valueName2 = 1,

...

valueNameN = N

} EnumType;

..

}

Передавать в качестве параметров структуры тоже можно. Такие структуры называются UDT - User Defined Type. В IDL описываютсятак:

Typedef [uuid(C1D3A8C0-A4AA-11D0-819C-00A0C90FFFC3)] struct UDT

{

unsigned long X;

unsigned long Y;

BSTR pbstr;

} UDT;

Описывать параметры метода можно как VARIANT но тогда придется работать с интерфесом IRecordInfo или как UDT:

Do([in]UDT* pIn, [in,out] pOut);

Передать UDT в такой метод проще простого:

UDT some_data, some_returned_data;

p->Do(&some_data, some_returned_data);

Членами UDT могут быть другие UDT или oleautomation-совместимые типы.

У вы в VC нет автоматизации позволяющей создавать пользовательские типы поэтом у все придется делать ручками

К-во Просмотров: 250
Бесплатно скачать Статья: Оформление класса в виде COM объекта в C++