Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Получение значений из SAFEARRAY of BSTR от COM-obj

7.5K
07 мая 2007 года
feedbee
4 / / 01.07.2004
Есть такой код:

 
Код:
Type t =
Type.GetTypeFromProgID("DEGetBlockFmtNamesParam.DEGetBlockFmtNamesParam.1");

Object foo = Activator.CreateInstance(t);

HtmlEdit.ExecCommand(DHTMLEDLib.DHTMLEDITCMDID.DECMD_GETBLOCKFMTNAMES,
DHTMLEDLib.OLECMDEXECOPT.OLECMDEXECOPT_DODEFAULT, ref foo);


Проблема с параметром foo. В MSDN про него сказано:
Цитата:
VARIANT of type VT_ARRAY that receives the available block format tags. Upon successful return, pvaOut points to a SAFEARRAY of BSTR objects. The caller is responsible for releasing the contents of the SAFEARRAY using the SafeArrayDestroyData and SafeArrayDestroy APIs methods.



Как мне достать в прогу значения из этого массива??? Облазил все, несколько часов что то пытался намутить - результат 0. Очень буду благодарен за помощь.

P.S. Кстати, в отладчике значение foo показано как {System.__ComObject}

7.5K
07 мая 2007 года
feedbee
4 / / 01.07.2004
все узнал.

object[] s = (object[])((DHTMLEDLib.DEGetBlockFmtNamesParam)foo).get_Names();

спасибо г-ну sax_ol с неэтого форума
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог