Главная страница
    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.006 c
11-1193797466
Trible
2007-10-31 05:24
2009.06.21
Анимация окна


11-1201597213
Elec3C
2008-01-29 12:00
2009.06.21
Баг ListBox.DoubleBuffer := True


15-1239568612
Юрий
2009-04-13 00:36
2009.06.21
С днем рождения ! 13 апреля 2009 понедельник


15-1239459353
Nic
2009-04-11 18:15
2009.06.21
Распараллелить интернет


11-1201782909
Elec3C
2008-01-31 15:35
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский