Поиск:

Ответ в темуСоздание новой темы Создание опроса
> CHtmlView Относительный путь при загрузке 
:(
    Опции темы
The Thing
Дата 19.3.2008, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Ситуация такая, создаю документ на основе шаблонов. Т.е. собираю код из кусков, относительно переданных параметров.
1. Гружу Navigate2( L"about:blank" );
2. Загружаю код.

Код

//Загружаем HTML код
HRESULT CBasePage::LoadHtml(CString strHtml)
{
    CComPtr<IDispatch> pDocDispatch = GetHtmlDocument();
    if( !pDocDispatch )
        return S_FALSE;
    
    CComQIPtr<IHTMLDocument2,&IID_IHTMLDocument2> pHtmlDocument2(pDocDispatch);
    if( !pHtmlDocument2 )
        return S_FALSE;

    HRESULT hr;
    SAFEARRAY* psa = SafeArrayCreateVector(VT_VARIANT, 0, 1);

    if( NULL != psa )
    {
        VARIANT *param;
        BSTR bsData = SysAllocString( strHtml );
        hr =  SafeArrayAccessData(psa, (LPVOID*)&param);

        if( SUCCEEDED( hr ) )
        {
            CComVariant vName("HistroyName");

            //hr = pHtmlDocument2->open(L"text/html",vName,CComVariant(),CComVariant(),NULL);

            if( SUCCEEDED(hr) )
            {
                param->vt = VT_BSTR;
                param->bstrVal = (BSTR)bsData;

                hr = pHtmlDocument2->write(psa);

                hr = pHtmlDocument2->close();
            }
        }

        SysFreeString(bsData);
        if (psa != NULL) {
            SafeArrayDestroy(psa);
        }
    }

    return hr;
}
 


3. Страница грузится, но все пути которые были относительные имеют вид: "about:blankresource.files/tab_income_pas.gif"
вместо "files://d:|.../resource.files/tab_income_pas.gif"

Помогите пожалуйста решить эту проблему.



--------------------
Правильность работы программы зависит от двух велечин.
В нужном месте должны стоять нолик и еденичка.
PM MAIL   Вверх
xvr
Дата 20.3.2008, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Цитата(The Thing @ 19.3.2008,  15:09)
Ситуация такая, создаю документ на основе шаблонов. Т.е. собираю код из кусков, относительно переданных параметров.
1. Гружу Navigate2( L"about:blank" );
2. Загружаю код.

Код

//Загружаем HTML код
HRESULT CBasePage::LoadHtml(CString strHtml)
{
    CComPtr<IDispatch> pDocDispatch = GetHtmlDocument();
    if( !pDocDispatch )
        return S_FALSE;
    
    CComQIPtr<IHTMLDocument2,&IID_IHTMLDocument2> pHtmlDocument2(pDocDispatch);
    if( !pHtmlDocument2 )
        return S_FALSE;

    HRESULT hr;
    SAFEARRAY* psa = SafeArrayCreateVector(VT_VARIANT, 0, 1);

    if( NULL != psa )
    {
        VARIANT *param;
        BSTR bsData = SysAllocString( strHtml );
        hr =  SafeArrayAccessData(psa, (LPVOID*)&param);

        if( SUCCEEDED( hr ) )
        {
            CComVariant vName("HistroyName");

            //hr = pHtmlDocument2->open(L"text/html",vName,CComVariant(),CComVariant(),NULL);

            if( SUCCEEDED(hr) )
            {
                param->vt = VT_BSTR;
                param->bstrVal = (BSTR)bsData;

                hr = pHtmlDocument2->write(psa);

                hr = pHtmlDocument2->close();
            }
        }

        SysFreeString(bsData);
        if (psa != NULL) {
            SafeArrayDestroy(psa);
        }
    }

    return hr;
}
 


3. Страница грузится, но все пути которые были относительные имеют вид: "about:blankresource.files/tab_income_pas.gif"
вместо "files://d:|.../resource.files/tab_income_pas.gif"

Помогите пожалуйста решить эту проблему.

Тебе надо сначала загрузить HTML вида

Код

<HTML>
<HEAD>
  <BASE HREF="file://d:|.../"/>
</HEAD>
<BODY/>
</HTML>

а уже потом грузить в это окно документ в виде строки (кстати, он должен быть без заголовка)

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


 




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


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

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