Что я делаю не так? Компилирую такую idl:
- Код: Выделить всё
[
uuid(22B38A80-C22B-11D0-8253-00805F5552AB),
version(0.1),
helpstring("Win32 структуры и константы")
]
library test
{
typedef struct tagRECT {
long Left;
long Top;
long Right;
long Bottom;
} RECT ;
}
Мидл заявляет мне, что redefinition : tagRECT
Очевидно, потому что в мидле, а точнее в по умолчании подключаемой им wtypes.idl рект уже объявлен. Ну ладно, делаю так:
- Код: Выделить всё
[
uuid(22B38A80-C22B-11D0-8253-00805F5552AB),
version(0.1),
helpstring("Win32 структуры и константы")
]
library test
{
typedef struct tagT {
RECT r;
} T ;
}
Теперь всё компилируется. Подключаю к проекту, смотрю - в тлб задекларированы tagRECT и tagT. Вопрос - почему tagRECT, а не просто RECT? И нельзя ли как-то задекларировать тот же рект без вспомогательного Т?