Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 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
15-1238776763
AlexDan
2009-04-03 20:39
2009.06.21
Созданы роботы, способные рассуждать


11-1201874936
Татьяна
2008-02-01 17:08
2009.06.21
программирование для КПК со сканером


15-1239633264
Дмитрий С
2009-04-13 18:34
2009.06.21
Поздравляю с днем рождения Александра Rouse_


2-1240813603
Mishenka
2009-04-27 10:26
2009.06.21
Как в ListView отловить событие начала скроллинга?


2-1241090941
madmech
2009-04-30 15:29
2009.06.21
Проблема с отрисовкой заголовка кросс-отчета





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский