Форум: "Сети";
Текущий архив: 2009.06.21;
Скачать: [xml.tar.bz2];
Внизпроблема отображения картинок в WebBrowser Найти похожие ветки
← →
Артем (2008-02-22 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? Может что-то нужно еще обрабатывать?
Очнь нужна Ваша помощь, коллеги. Заранее ОГРОМНОЕ спасибо!
← →
Сергей М. © (2008-02-22 14:10) [1]Читай справку:
Write an OnBeforeNavigate2 event handler to redirect or cancel a change to a different URL
А ты что творишь в своем обработчике ?
Ты там творишь совсем другое)
← →
Artem (2008-02-22 14:30) [2]Я все делаю нормально. То, что мне надо сделать с текстом - все работает.
А вот с графикой не разберусь.
← →
Сергей М. © (2008-02-22 14:58) [3]
> Я все делаю нормально
Ну продолжай в том же духе.
← →
Сергей М. © (2008-02-22 15:10) [4]Тут, кстати, радует другое - размещение вопроса именно в "Сети")
← →
Artem (2008-02-22 15:57) [5]Сергей, в Ваших комментах я не нуждаюсь. Если есть опыт работы с браузером - так помогите советом.
← →
Сергей М. © (2008-02-22 16:19) [6]Сначала представь ТЗ хоть в сколь-либо презентабильном виде, потом будут и советы.
А та шняга, чтго ты изложил, - это не ТЗ.
И к "Сетям" отношения НЕ имеет.
← →
Artem (2008-02-22 22:34) [7]А что не понятно конкретно?
← →
Artem (2008-02-22 22:35) [8]
И к "Сетям" отношения НЕ имеет.
Имеет, т.к. WebBrowser
← →
DiamondShark © (2008-02-22 23:59) [9]
> Artem (22.02.08 14:30) [2]
> Я все делаю нормально.
Значит у тебя всё работает, и проблемы нету.
Есть такая штука -- отладчик. Он умеет такие вещи делать, как ставить точки останова и показывать значения переменных.
Ты уже ставил точку останова в обработчике BeforeNavigate2, смотрел, получает ли он урл картинок?
---------
Кстати, зачем такой трансректальный метод для такой простой задачи?
Грузи свою страничку сразу по урл-схеме res:, потом в NavigateComplete заменяй в страничке нужный текст, используя HTML DOM.
Например, зарезервируй место вот так:
<SPAN id="userText"></SPAN>
Потом находишь в документе элемент по id и заменяешь его свойство innerHTML или innerText.
Да, урлы картинок тоже должны быть res:
← →
DiamondShark © (2008-02-23 00:03) [10]Какой урл используется для навигации на страницу и какие урлы прописаны у картинок в тексте страницы?
← →
Artem (2008-02-23 00:44) [11]
Какой урл используется для навигации на страницу
p1
p2
p2
...какие урлы прописаны у картинок в тексте страницы
im1
im2
im3
...
← →
DiamondShark © (2008-02-23 01:18) [12]
> Artem (23.02.08 00:44) [11]
И как, по-твоему, несчатный браузер должен дотелепать, что im1 находится в каком-то там ресурсе?
задавай полный урл:
res://project1.exe/im1
← →
Artem (2008-02-23 01:23) [13]Да, я уже разобрался. Сейчас занимаюсь обработкой. Спасибо.
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2009.06.21;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.005 c