Вышел релиз знаменитой кросплатформенной IDE Qt Creator 2.0. Основные изменения связаны с поддержкой Symbian и MeeGo. Скачать можно здесь.
dbabfa9b-1ec1-4c6c-953e-ac731870c97d|1|5.0
Сегодня я раскажу как вставить HTML страницу в DLL. Пример будет продемонстрирован посредством использования Delphi 7.
Иногда возникает необходимость вставить ресурсы в DLL файл (например для предотвращения случайного удаление ресурса, или для того чтобы защитить ресурс от изменения).
Для начала создайте простую HTML страницу, для примера создайте страницу с одним изображением (в ресурс мы будем вставлять и изображение). Назовём этот файл index1.html. Ниже указано как мы будем получать доступ к изображению из html страници, HTML код выглядит следующим образом:
1: <HTML>
2: <HEAD>
3: <TITLE>My HTML</TITLE>
4: </HEAD>
5: <BODY>
6: This is a HTML in DLL<br>
7: <img src="MYIMG" width=100 height=100 border=0 alt="">
8: </BODY>
9: </HTML>
Теперь займемся файлом ресурсов. Необходимо создать новый текстовый файл в директории вашего проекта с расширением *.rc, назовем его например MyHTML.rc. После этого добавте следующие строки в файл MyHTML.rc. Обратите внимание название ресурса должно совпадать с именем файла (это из-за того что броузер не понимает такого расширения файла), за исключением того что точку brcc не понимает нужно поставить подчеркивание (позднее я обьясню что нужно делать с подчеркиванием)
index1_html (23) "index1.html"
MYIMG GIF "my.gif"
Следующий шаг - компиляция файла ресурса. Выполните следующую команду в директории Вашего проекта:
BRCC32 MyHTML.RC
Результатом выполнения команды будет собраный файл MyHTML.RES. Теперь заменим подчеркивание на точку в заголовке нашего собраного *.RES файла. Для этого нужно найти строку "i n d e x 1 _ h t m l", изаменить подчеркивание на точку. Теперь можно добавить собраный файл ресурса в Ваш проект, для этого добавьте следующую директиву компилятора в unit проекта:
{$R MyHTML.RES}
Далее собираем наш DLL. Чтобы запустить в браузере введите команду:
res://c:\myhtml.dll/index1.html
768efae5-3f3a-44cb-bd47-9f88d9060343|1|5.0