enum'ы не попадают в Type Library
От: alexxys Россия  
Дата: 19.01.03 11:32
Оценка:
пишу COM компонент на VC .NET/ATL. Такой вот enum (IDL код) не попадает в Type Library.

enum ReturnIPAddressEnum{
  esOnlyFirstAddress,
  esOnlyDirectoryAddress,
  esAllAddresses
};


Может к нему какой аттрибут прикрутить? Или настройки MIDL или VC подкрутить?
Re: enum'ы не попадают в Type Library
От: Tom Россия http://www.RSDN.ru
Дата: 19.01.03 13:51
Оценка: 2 (1)
Здравствуйте, alexxys, Вы писали:

A>пишу COM компонент на VC .NET/ATL. Такой вот enum (IDL код) не попадает в Type Library.


A>
A>enum ReturnIPAddressEnum{
A>  esOnlyFirstAddress,
A>  esOnlyDirectoryAddress,
A>  esAllAddresses
A>};
A>


A>Может к нему какой аттрибут прикрутить? Или настройки MIDL или VC подкрутить?


Скорее всего это описание вне library блока. Просто перенеси его внутрь.
Народная мудрось
всем все никому ничего(с).
Re: enum'ы не попадают в Type Library
От: Алекс Россия http://wise-orm.com
Дата: 19.01.03 14:45
Оценка:
Здравствуйте, alexxys, Вы писали:

[]

Скорее всего, у тебя просто код на idl не верный. Попробуй определить enum с ключевым словом typedef.
MSDN: The enum keyword must be preceded by typedef.

Потом, я бы посоветовал указать все-таки uuid, helpstring и проч. Мало-ли что. Самому же потом понадобиться!
Re: enum'ы не попадают в Type Library
От: DrMom  
Дата: 19.01.03 14:56
Оценка:
Здравствуйте, alexxys, Вы писали:

A>пишу COM компонент на VC .NET/ATL. Такой вот enum (IDL код) не попадает в Type Library.


A>
A>enum ReturnIPAddressEnum{
A>  esOnlyFirstAddress,
A>  esOnlyDirectoryAddress,
A>  esAllAddresses
A>};
A>


A>Может к нему какой аттрибут прикрутить? Или настройки MIDL или VC подкрутить?



    [
        uuid(...)
    ]
    typedef enum ReturnIPAddressEnum
    {
         ...
    }ReturnIPAddressEnum;


Попробуй так. И добавь в library.
Re[2]: enum'ы не попадают в Type Library
От: Tom Россия http://www.RSDN.ru
Дата: 19.01.03 15:19
Оценка:
А>Скорее всего, у тебя просто код на idl не верный. Попробуй определить enum с ключевым словом typedef.

Всё у него верно. У меня этот код работает.

    enum EBSHandshaking {comNone = 0x0000, 
             comXOnXOff = 0x0001, 
             comRTS    = 0x0002, 
             comRTSXOnXOff = 0x0003};
Народная мудрось
всем все никому ничего(с).
Re[2]: enum'ы не попадают в Type Library
От: alexxys Россия  
Дата: 19.01.03 16:03
Оценка:
Здравствуйте, Tom, Вы писали:

Tom>Здравствуйте, alexxys, Вы писали:


A>>пишу COM компонент на VC .NET/ATL. Такой вот enum (IDL код) не попадает в Type Library.


A>>
A>>enum ReturnIPAddressEnum{
A>>  esOnlyFirstAddress,
A>>  esOnlyDirectoryAddress,
A>>  esAllAddresses
A>>};
A>>


A>>Может к нему какой аттрибут прикрутить? Или настройки MIDL или VC подкрутить?


Tom>Скорее всего это описание вне library блока. Просто перенеси его внутрь.


Так и есть. Большое спасибо!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.