Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Протокол TWebBrowser res://


Knuckles ©   (2006-11-02 11:53:00) 

Здравствуйте. Пользуюсь компонентом TWebBrowser (а точнее EmbeddedWB, но это не суть важно). Компонент отображает xml странички с xsl преобразованием. Очень надо запихнуть эти xsl файлы внутрь экзешника и обращаться к ним как к ресурсам.
Проблемма в том, что если в xml указать ссылку на xsl stylesheet вот в таком виде:
<?xml-stylesheet type="text/xsl" href="res://myapp.exe/RT_HTML/INFOXSL"?>
то есть с относительным путем, то ИЕ не находит этот файл. Если же прописать полный путь, то открывается без проблемм. Но полный путь, сами понимаете, прописывать просто невозможно.
Можно ли как-то отловить попытку ИЕ открыть этот файл через res:// протокол и динамически заменить строку на полный путь к программе?
Обыскал уже весь инет, обращался даже к авторам компонента, но и они не смогли помочь...
Заранее спасибо за ответы.


Virgo_Style   (2006-11-02 13:48:00) [1]

Knuckles   (02.11.06 12:04) [3]
путь может меняться. один юзер установил в Program Files, другой еще куда-то.
что тут непонятного?


Вроде ничего, так в чем же у тебя проблема?


guav   (2006-11-02 13:21:00) [2]

> Можно ли как-то отловить попытку ИЕ открыть этот файл через
> res:// протокол и динамически заменить строку на полный
> путь к программе?

Можно изменить обработку протокола res или добавить обработку другого протокола для своего приложения путём создания COM-объекта, реализующего интерфейс IInternetProtocol


Anatoly Podgoretsky   (2006-11-02 13:08:00) [3]

> Knuckles  (02.11.2006 11:53:00)  [0]

Software переводится как гибкое, так что все с руках твоих.


Knuckles   (2006-11-02 12:04:00) [4]


> событие onBeforeNavigate


нет. загрузка делается так
Browser.Navigate('something.xml');
вот тут происходит OnBeforeNavigate. но на этом моменте поменять строку я не могу, потому что она еще просто не загружена в браузер.
браузер загружает xml, смотрит там сслыка на стайлщит, пытается его найти. В это время собятия OnBeforeNavigate не происходит.


> не понимаю


путь может меняться. один юзер установил в Program Files, другой еще куда-то.
что тут непонятного?


Reindeer Moss Eater   (2006-11-02 12:03:00) [5]

загрузи оба ресурса (xml и xsl) в IXMLDomDocument, выполни трансформ и скорми браузеру готовый html


Dmitrij_K   (2006-11-02 11:57:00) [6]


> Можно ли как-то отловить попытку ИЕ открыть этот файл

событие onBeforeNavigate

> Если же прописать полный путь, то открывается без проблемм.
>  Но полный путь, сами понимаете, прописывать просто невозможно.

не понимаю


Наверх

Титульная страница Поиск, карта сайта Написать письмо