Получение значений из Safearray Of Bstr от Com-объекта

Тема в разделе ".NET", создана пользователем feedbee, 7 май 2007.

Статус темы:
Закрыта.
  1. feedbee

    feedbee Гость

    Есть такой код:
    Код (Text):
    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 про него сказано:
    Как мне достать в прогу значения из этого массива??? Облазил все, несколько часов что то пытался намутить - результат 0. Очень буду благодарен за помощь.

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

    feedbee Гость

    Да. Вообщем-то я пробывал приводить к разным типам, но любое приведение заканчивается:
    Я даже сделдал метод для раскрытия этого массива

    Код (Text):
    void ViewStrings([MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_BSTR)] ref String[] ar)
    {
    foreach (String str in ar)
    MessageBox.Show(str);
    }
    Но по-прежнему проблема - как его туда передать. Приведения типов не прокатывают (см. выше).
     
  3. feedbee

    feedbee Гость

    Этот код, и подобный ему на JS и VB я уже наблюдал много раз. Весь гугл обшарил же :( Здесь проблема в том, что на C# нельзя так просто писать как на VB или Java. Имея foo типа object я не могу получить его .Names... VBArray у меня нет (или не нашел?).
     
  4. feedbee

    feedbee Гость

    О боги, it works!
    На то что бы поиметь эту строку я потратил около 8 часов :(
    sax_ol - спасибо!!!
     
  5. feedbee

    feedbee Гость

    Ну так было написано. Этот кусок кода я нашел в гугле :( Есть варианты по-другому?
     
  6. feedbee

    feedbee Гость

    Как ни странно, и так тоже работает :)) Значит оставим object foo = new DHTMLEDLib.DEGetBlockFmtNamesParam();
     
  7. feedbee

    feedbee Гость

    fckeditor - он же и сделан на базе этого же компонента. Но он ращитан на web, т.е. требует наличия web-сервера. Моя же прога офлайн, простое windows applion, в нем нужно встроить визуальный HTML-эдитор с базовым набором функций. Вот это и делаю.
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей