В Delphi я создаю HTTP-приложение или, скорее, веб-сервер. По сути, это целый веб-сайт, встроенный в один EXE-файл. Файлы, которые я встраиваю, включают HTML, JS, CSS, SWF, PNG, XML и т. д. Имена ресурсов такие же, как исходное имя файла, с .
заменено на _
. В итоге внутри EXE будет заложено где-то 40-60 файлов.
Проблема в том, что я не хочу писать код, оборачивающий каждый отдельный файл. Прямо сейчас я объявляю константу для каждого ресурса и использую эту константу при получении ресурса с помощью TResourceStream
.HTTP-запрос запрашивает любой конкретный файл, и, поскольку у меня будет куча файлов, мне не нужен отдельный способ обработки каждого файла. Кроме того, в будущем, когда я добавлю новый файл для встраивания, все, что мне нужно будет сделать, это добавить его в мой сценарий ресурсов (.rc). Поэтому я решил изменить свой механизм для автоматического преобразования запрошенного имени файла в имя ресурса. Например, /Home.HTML
преобразуется в HOME_HTML
, что должно быть именем встроенного ресурса. Мне нужно проверить, существует ли такой ресурс перед его загрузкой.
Я мог бы попытатьсязагрузить его и перехватить любое исключение, но это приведет к ошибкам при отладке, если ресурс не существует. Как мне выполнить такую проверку без использования try..except
?