Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.06.21;
Скачать: CL | DM;

Вниз

проблема отображения картинок в 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.013 c
15-1239764963
UserInet777
2009-04-15 07:09
2009.06.21
Покритикуйте алгоритм авторизации


15-1239804912
IvanIvan2
2009-04-15 18:15
2009.06.21
. PhysicalDriveN


15-1239183575
rulllesss
2009-04-08 13:39
2009.06.21
SmartClient для Делфи


15-1239688470
JohnKorsh
2009-04-14 09:54
2009.06.21
Eternet и TCP/IP адрес.


2-1241002158
worldmen
2009-04-29 14:49
2009.06.21
Настройка TDBLookupComboBox.