Конференция "Сети" » проблема отображения картинок в WebBrowser [D6, WinXP]
 
  • Артем (22.02.08 09:37) [0]
    Помогите решить проблему. Есть WebBrowser, есть обработчик BeforeNavigate2, который "вынимает" из ресурсов html-страницы, делает в них изменения и отображает в браузере.

    Проблема заключается в том, что после преобразований и отображения через

    (Wb.Document as IHTMLDocument2).write(PSafearray(TVarData(v).VArray))



    у меня не отображаются картинки, которые также в ресурсах.

    html пришиваются так:

    P1 23 P1.HTM
    P2 23 P1.HTM
    ...



    Картинки также:

    IM1 23 IM1.JPG
    IM2 23 IM2.JPG
    ...



    Обработчик BeforeNavigate2 выглядит так:

    if URL='about:blank' then exit;

    cancel:=true;

    ur:=url;
    str:=after('/P',ur); {здесь получаю индекс страницы}
    s:=TStringList.Create;
    U:=StringReplace(URL, 'about', '',[rfReplaceAll, rfIgnoreCase]);
    res:='P'+str;
    rs := TResourceStream.Create(hinstance, res, PChar(23));
     try
       s.LoadFromStream(rs);
     finally
       rs.Free;
     end;
    temp:=StringReplace(S.Text, '<User>', username,[rfReplaceAll, rfIgnoreCase]); {замена <User> на необходимое}
    S.Free;
    V:=Vararraycreate([0,0], varVariant);
    v[0]:=temp;
    (Wb.Document as IHTMLDocument2).write(PSafearray(TVarData(v).VArray));



    Что делаю не так? Почему у меня не отображаются картинки, которые прописаны в HTML? Может что-то нужно еще обрабатывать?

    Очнь нужна Ваша помощь, коллеги. Заранее ОГРОМНОЕ спасибо!
  • Сергей М. © (22.02.08 14:10) [1]
    Читай справку:

    Write an OnBeforeNavigate2 event handler to redirect or cancel a change to a different URL

    А ты что творишь в своем обработчике ?
    Ты там творишь совсем другое)
  • Artem (22.02.08 14:30) [2]
    Я все делаю нормально. То, что мне надо сделать с текстом - все работает.

    А вот с графикой не разберусь.
  • Сергей М. © (22.02.08 14:58) [3]

    > Я все делаю нормально


    Ну продолжай в том же духе.
  • Сергей М. © (22.02.08 15:10) [4]
    Тут, кстати, радует другое - размещение вопроса именно в "Сети")
  • Artem (22.02.08 15:57) [5]
    Сергей, в Ваших комментах я не нуждаюсь. Если есть опыт работы с браузером - так помогите советом.
  • Сергей М. © (22.02.08 16:19) [6]
    Сначала представь ТЗ хоть в сколь-либо презентабильном виде, потом будут и советы.

    А та шняга, чтго ты изложил,  - это не ТЗ.

    И к "Сетям" отношения НЕ имеет.
  • Artem (22.02.08 22:34) [7]
    А что не понятно конкретно?
  • Artem (22.02.08 22:35) [8]
    И к "Сетям" отношения НЕ имеет.



    Имеет, т.к. WebBrowser
  • DiamondShark © (22.02.08 23:59) [9]

    > Artem   (22.02.08 14:30) [2]
    > Я все делаю нормально.

    Значит у тебя всё работает, и проблемы нету.

    Есть такая штука -- отладчик. Он умеет такие вещи делать, как ставить точки останова и показывать значения переменных.

    Ты уже ставил точку останова в обработчике BeforeNavigate2, смотрел, получает ли он урл картинок?

    ---------

    Кстати, зачем такой трансректальный метод для такой простой задачи?
    Грузи свою страничку сразу по урл-схеме res:, потом в NavigateComplete заменяй в страничке нужный текст, используя HTML DOM.
    Например, зарезервируй место вот так:
    <SPAN id="userText"></SPAN>
    Потом находишь в документе элемент по id и заменяешь его свойство innerHTML или innerText.

    Да, урлы картинок тоже должны быть res:
  • DiamondShark © (23.02.08 00:03) [10]
    Какой урл используется для навигации на страницу и какие урлы прописаны у картинок в тексте страницы?
  • Artem (23.02.08 00:44) [11]
    Какой урл используется для навигации на страницу


    p1
    p2
    p2
    ...

    какие урлы прописаны у картинок в тексте страницы


    im1
    im2
    im3
    ...
  • DiamondShark © (23.02.08 01:18) [12]

    > Artem   (23.02.08 00:44) [11]

    И как, по-твоему, несчатный браузер должен дотелепать, что im1 находится в каком-то там ресурсе?

    задавай полный урл:

    res://project1.exe/im1
  • Artem (23.02.08 01:23) [13]
    Да, я уже разобрался. Сейчас занимаюсь обработкой. Спасибо.
 
Конференция "Сети" » проблема отображения картинок в WebBrowser [D6, WinXP]
Есть новые Нет новых   [134431   +14][b:0][p:0.001]