Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Get ProgID or CLSID if i have only p to some IDisp 
:(
    Опции темы
vippavlo
  Дата 29.10.2007, 14:16 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 2.4.2007
Где: Ukraine, Vinnitsa

Репутация: нет
Всего: нет



Извините, что на англ, а то писал на англ форуме... не захотелос переводить 
How i can get ProgID or CLSID if i have only pointer to some IDispatch interface. 
For example:
CComPtr< ISome > spSome;

I was trying to do the next:
Код


CComPtr spTypeInfo;
hr = m_spSome->GetTypeInfo( 100, LOCALE_SYSTEM_DEFAULT, &spTypeInfo );
if( FAILED( hr = PrepareFuncInfo() ) )
{
return hr;
}
TYPEATTR *pattr = NULL;
hr = spTypeInfo->GetTypeAttr( &pattr );
if( FAILED( hr = PrepareFuncInfo() ) )
{
spTypeInfo.Release();
return hr;
}
CComPtr spTypeInfo2;
HREFTYPE hrType = 0;
while( SUCCEEDED( hr = spTypeInfo->GetRefTypeInfo( hrType, &spTypeInfo2 ) ) )
{
TYPEATTR *pattr2 = NULL;
hr = spTypeInfo2->GetTypeAttr( &pattr2 );
if( FAILED( hr = PrepareFuncInfo() ) )
{
spTypeInfo2.Release();
spTypeInfo.Release();
return hr;
}
if( pattr2->typekind == TKIND_COCLASS )
{
BSTR bsCLSID;
ProgIDFromCLSID( pattr2->guid, &bsCLSID );
m_bsProgIDName = bsCLSID;
spTypeInfo2.Release();
spTypeInfo.Release();
return S_OK;
}
hrType++;
}


But it doesn't work in variant, when i have in type lib more then 1 coclass smile
I can to do this using type lib, but i want to find another way for solving this problem. If it's exists — please tell? how i can to do this smile Because i so tired with this...... smile
PM MAIL WWW ICQ GTalk Jabber MSN   Вверх
zkv
Дата 29.10.2007, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 92



Цитата(vippavlo @  29.10.2007,  14:16 Найти цитируемый пост)
не захотелос переводить 

smile  если вам не захотелось, чтобы задать вопрос, почему нам должно захотеться, чтобы ответить на него.
PM MAIL   Вверх
vippavlo
Дата 29.10.2007, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 2.4.2007
Где: Ukraine, Vinnitsa

Репутация: нет
Всего: нет



Цитата(zkv @ 29.10.2007,  16:15)
Цитата(vippavlo @  29.10.2007,  14:16 Найти цитируемый пост)
не захотелос переводить 

smile  если вам не захотелось, чтобы задать вопрос, почему нам должно захотеться, чтобы ответить на него.

Я его задал, кто может прочитать, тот прочитаєт ;)

Добавлено через 3 минуты и 55 секунд
I was receive a proposition to use IProvideClassInfo, but not all objects implement this interface. I need reliable method wich will be suitable for all objects!
Please, help!!!! smile  smile 
PM MAIL WWW ICQ GTalk Jabber MSN   Вверх
Cycle
Дата 2.12.2007, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 1.12.2007

Репутация: нет
Всего: 3



Судячи з опису інтерфейсу IDispatch в MSDN, то ніяк.

Извините что не на русском.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: COM/DCOM/ActiveX/ATL/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.0567 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.