Как сделать более одной type-library на одну COM DLL?
MS VC++ 6.
ATL. Хочу: более одной type-library на одну COM DLL.
Правила форума
Пожалуйста, ознакомьтесь с правилами данного форума
Пожалуйста, ознакомьтесь с правилами данного форума
-
- Завсегдатай
- Сообщения: 278
- Зарегистрирован: 03 мар 2003, 08:55
- Откуда: RU->BC->ON->FI -> Chicago, IL -> Seattle, WA
-
- Пользователь
- Сообщения: 92
- Зарегистрирован: 20 фев 2003, 00:41
Re: ATL. Хочу: более одной type-library на одну COM DLL.
не думаю что это вообще возможно. например потому что в функцию LoadTypeLib нельзя передать именя ресурса. поэтому можно иметь только одну typelib на одну dll.Woozy писал(а):Как сделать более одной type-library на одну COM DLL?
MS VC++ 6.
-
- Завсегдатай
- Сообщения: 278
- Зарегистрирован: 03 мар 2003, 08:55
- Откуда: RU->BC->ON->FI -> Chicago, IL -> Seattle, WA
MSDN says
If the file is a DLL or an executable file, it is loaded. By default, the type library is extracted from the first resource of type ITypeLib. To load a different type of library resource, append an integer index to szFile. For example:
ITypeLib *ptlib;
LoadTypeLib("C:\\MONTANA\\EXE\\MFA.EXE\\3", &ptlib)
This statement loads the type library resource 3 from the file Mfa.exe file.
ITypeLib *ptlib;
LoadTypeLib("C:\\MONTANA\\EXE\\MFA.EXE\\3", &ptlib)
This statement loads the type library resource 3 from the file Mfa.exe file.
-
- Пользователь
- Сообщения: 92
- Зарегистрирован: 20 фев 2003, 00:41
-
- Завсегдатай
- Сообщения: 278
- Зарегистрирован: 03 мар 2003, 08:55
- Откуда: RU->BC->ON->FI -> Chicago, IL -> Seattle, WA
-
- Пользователь
- Сообщения: 92
- Зарегистрирован: 20 фев 2003, 00:41
-
- Завсегдатай
- Сообщения: 278
- Зарегистрирован: 03 мар 2003, 08:55
- Откуда: RU->BC->ON->FI -> Chicago, IL -> Seattle, WA
Спасибо. Вот это попробую - визард - будет работать или нет - даже не очень сильно волнует. С регистрацией / разрегистрацией могут возникнуть небольшие проблемы. DLLRegisterServer и DLLUnRegisterServer надо будет слегка подправить. Предполагаю.Boo писал(а):добавляешь свой IDL в проект. дальше идешь в 'resource includes' и добавляешь TLB-шку туда таким же макаром как основная, только с другим resource ID. все. только наверно не будет работать ATL-овский визард, хотя это наверное можно поправить.