Сегодня я раскажу как вставить 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