在 Delphi 中,我正在构建一个 HTTP 应用程序,或者更确切地说是一个 Web 服务器。它本质上是一个内置于单个 EXE 文件中的整个网站。我嵌入的文件包括 HTML、JS、CSS、SWF、PNG、XML 等。资源名称与原始文件名相同,带有.
替换为_
。最后,EXE 中将嵌入大约 40-60 个文件。
问题是我不想编写包装每个单独文件的代码。现在,我为每个资源声明一个常量,并在使用以下命令获取资源时使用该常量TResourceStream
。 HTTP 请求要求任何特定文件,并且由于我将拥有一堆文件,因此我不需要单独的方式来处理每个文件。另外,将来,当我添加要嵌入的新文件时,我所要做的就是将其添加到我的资源脚本 (.rc) 中。因此,我决定更改我的机制,以自动将请求的文件名解析为资源名称。例如,/Home.HTML
决心HOME_HTML
这应该是嵌入资源的名称。我需要在加载之前检查这样的资源是否存在。
I could try加载它并捕获任何例外但如果资源不存在,这会在调试中产生错误。我将如何在不使用的情况下执行这样的检查try..except
?
您可以使用查找资源 http://msdn.microsoft.com/en-us/library/windows/desktop/ms648042%28v=vs.85%29.aspxAPI,类似的东西
if(FindResource(hInstance, PChar(ResourceName), RT_RCDATA) <> 0)then begin
// load the resource
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)