如何检查嵌入资源是否存在?

2024-03-05

在 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(使用前将#替换为@)

如何检查嵌入资源是否存在? 的相关文章

  • 如何从该 JAVA 文件中提取 Delphi 类以与 Android 一起使用?

    我的Delphi XE7项目需要与FTDI FT311 Android 配件芯片 http www ftdichip com Products ICs FT311D html 他们帮助提供了一个 Android 演示 其中包括他们的 JAV
  • 为什么 Delphi 中的 ADO Next 记录处理速度变慢?

    我有一个多年前开发的 Delphi 4 程序 它使用Opus 直接访问 http sourceforge net projects directaccess 按顺序搜索 Microsoft Access 数据库并检索所需的记录 Delphi
  • H2161 重复资源[一个VCL项目可以有2个类名相同但命名空间不同的表单吗?]

    我尝试在 2 个不同的命名空间中创建具有相同类名的 2 个表单 FirstNameSpace ExampleFormName TExampleFormName SecondNameSpace ExampleFormName TExample
  • CharInSet 不适用于非英文字母?

    我已经将应用程序从 Delphi 2007 更新到 Delphi 2010 一切都很顺利 除了一条编译正常但不起作用的语句 If Edit1 Text 1 in S then ShowMessage Found else ShowMessa
  • 使用 PutBlock 并将字节数组全部设置为零的 EIPHTTPProtocolExceptionPeer 异常

    使用 Delphi XE2 Update 3 我在将零字节块上传到 Azure 时遇到问题 当我说零字节时 我指的是每个元素设置为零的字节数组 不是零长度 例如 var ConInfo TAzureConnectionInfo RespIn
  • EditorTemplate 的嵌套模型的 ASP.NET MVC3 条件验证

    假设你有一个 viewModel public class CreatePersonViewModel Required public bool HasDeliveryAddress get set Should only be valid
  • 如何在表单上绘制半透明图像?

    我想在 Delphi 窗体上绘制半透明图像 但由于某种原因它不起作用 Here is the original PNG border is semi transparent 我将图像加载到TImage object Image1 Trans
  • Delphi 的内存分析工具?

    我建立了一个项目并运行它 然后在 Process Explorer 中查看它 结果发现它在启动时使用的 RAM 比我想象的要多 5 倍 现在 如果我的程序运行得太慢 我会将其连接到分析器并让它告诉我什么正在使用我的所有周期 有没有类似的工具
  • FireMonkey iOS RAD Studio XE2 - 在从 URL 加载的表单上显示图像

    是否可以将 TImage 放置在 iOS 的 FMX 表单上 并将图像 jpg 从 URL 加载到此 TImage 中以在 iOS 应用程序中显示 我尝试过但没有成功 任何正确方向的提示或指出都会受到赞赏 将 TButton TImageC
  • 如何识别 WPF 文本框中的 ValidationError 工具提示位置

    我添加了一个箭头来指示工具提示中的文本框 当文本框远离屏幕边缘时 这非常有效 但是当它靠近屏幕边缘时 工具提示位置发生变化 箭头显示在左侧 Here is the Image Correct as expected since TextBo
  • 如何在按键时识别 unicode 键?

    我的应用程序使用 unicode 字符 并且我有几个文本字段 我想限制用户输入特殊字符 例如 begin if not Key in a z A Z 0 9 13 8 then Key 0 if Key 13 then bOk Click
  • 使用 Delphi 读取 Excel 电子表格

    我需要使用 Delphi 2010 读取和写入 Excel 电子表格 没什么花哨的 只需读取和写入不同工作表上特定单元格和范围的值 需要在没有安装 Excel 的情况下工作并支持 Excel 2007 我看过的一些东西 我尝试过使用ADO
  • TFrame继承重构

    我提出的另一个 TFrame IDE 注册组件问题 感谢各位程序员的帮助 尝试 Darrian 的 TFrame 继承建议here https stackoverflow com questions 382562 delphi visual
  • 如何将枚举类型放入字符串列表中?

    这行代码 ShowMessage GetEnumName TypeInfo TAlign 1 返回 alTop 当我想使用字符串变量 TAlign 而不是TAlign时 如何将枚举类型的所有值放入字符串列表中 就像是 ShowMessage
  • 为什么 TImage 旋转我的图像?

    编写一个移动应用程序 它从安全网站提取图像 如下所示 第一个图像 提取不正确 注意网络版本与移动版本 第二个图像在网站上正确显示 但 Delphi TImage 由于某种原因正在旋转它我不明白为什么 旋转设置为 0 并且在 TImage 组
  • Jquery 表单验证 - 电话号码

    我已经在表单上设置了 jQuery 验证 该验证当前测试电话号码字段不为空并且是一个数字 但我希望它能够处理用户在手机 区号后放置空格的情况 谁能建议我需要做什么才能允许这样做 这是我当前的代码 if phone length 0 name
  • Delphi + Synapse:如何检查我是否仍然连接

    我在用TTCPBlockSocket http synapse ararat cz doc help blcksock TTCPBlockSocket html对于 TCP IP 应用程序 问题是我无法确定连接何时丢失 GetLastErr
  • 在 Delphi 中将对象转换为 OleVariant

    有没有办法在 OleVariant 中传递包装并解开 TObject 后代 我正在尝试跨自动化对象传递 TObject 我知道这不是一个好主意 但我没有更好的选择 该对象将在来自同一自动化 dll 的对象之间传递 如果这有什么区别的话 像这
  • 使用远程数据编写 Android、iPad、iPhone 客户端的技术

    我需要探索世界 你写了一个杀手级应用程序 但你有 Android iPhone iPad 客户端吗 我的问题是 1 向这些设备发送数据的最佳方式是什么 按照建议进行肥皂和休息here https stackoverflow com ques
  • 表单帖子上的 asp.net mvc 编码

    我在我的 asp net mvc 表单 带有文本区域的 nicedit 中使用富文本编辑器 当我在帖子上提交表单时 因为它不是 html 编码的 我收到以下消息 从客户端检测到潜在危险的 Request Form 值 如何对 post 上的

随机推荐

  • 测试stream.good()或!stream.eof()读取最后一行两次[重复]

    这个问题在这里已经有答案了 可能的重复 为什么循环条件内的 iostream eof 被认为是错误的 https stackoverflow com questions 5605125 why is iostreameof inside a
  • 如果 HashMap 扩展了 AbstractMap,为什么还要实现 Map? [复制]

    这个问题在这里已经有答案了 可能的重复 Java util HashMap 为什么 HashMap 扩展 AbstractMap 并实现 Map https stackoverflow com questions 2294519 java
  • 带有自定义字体的 UILabel 显示*错误*自定义字体

    我在用着this https stackoverflow com questions 360751 can i embed a custom font in an iphone application 2616101 2616101在我的
  • 如何让JTextPane水平滚动

    我有一个JTextPane 当线路太多时 vertical出现滚动条 但是当一行太长时 不是出现水平滚动条 而是该行断成两行 如何让水平条出现而不是断成两行 我的jTextPane添加如下 JScrollPane jScrollPane1
  • Java 在不应该使用 Kerberos TicketCache 时自动使用它?

    我们有一个可以与外部服务通信的服务器端应用程序 这取决于我们的配置 我们是否使用呼叫我们的用户的凭据 预配置的凭据对这些服务进行身份验证 或者根本不进行身份验证 外部服务可以使用 HTTP Negotiate 身份验证 对于我们的自定义 H
  • 我可以仅使用 Facebook 签名请求安全地验证 Facebook 用户吗?

    我想让我的用户能够将他们的用户帐户与 Facebook 或 Twitter 相关联 并允许他们使用 Facebook Twitter 帐户登录我的服务器 而不是使用经典的用户名 密码 和登录的思路基本一样堆栈溢出 https stackov
  • 如何使用 Swift 从 iOS HealthKit 应用程序读取心率?

    我正在使用以下 Swift 代码 let sampleType HKSampleType HKSampleType quantityTypeForIdentifier HKQuantityTypeIdentifierHeartRate le
  • 如何将 LaTeX 片段直接包含在 Doxygen 注释中?

    我希望能够使用一些合适的编辑器在外部编辑一些 Doxygen 注释的 LaTeX 部分 我只会在复杂的环境中使用它 为此 我想我可以拥有纯 LaTeX 文件并从 Doxygen 中包含它们 我确实为以下内容创建了 Doxygen 别名 be
  • django搜索页面未找到错误

    我陷入了困境 我应该能够在页面上输入搜索查询 并且 django 应该返回匹配页面的列表 如果有 但它没有向我显示任何页面 即使它在那里 并且给了我一个错误 假设我有一页内容为一 当我搜索时 我收到此错误 找不到页面 404 请求方式 GE
  • 如何简单地删除旧的核心数据并重建新的?

    我尝试将 coreData 迁移到新版本 我正在执行以下步骤 添加新的模型版本 选择 name xcdatamodeld 然后选择 Editor gt Add 模型版本 在进行任何更改之前 如果您已经有应用程序 提交到App Store的是
  • 具有空键功能的线程安全映射

    我需要一个多线程 Map 对象在我的 Web 服务器的缓存中使用 并且我需要null keys HashMap允许我有空键 但是ConcurrentHashMap没有 我尝试创建一个同步版本HashMap using Collections
  • 如何使用openpyxl通过DefinedName获取单元格内容?

    例如单元格的坐标为A1 设置aDefinedName name cat with coordinate A1 然后我想读取内容cell via DefinedName cat 但好像不支持 还有其他方法可以帮忙吗 请参阅此处的示例图片 ht
  • 如何调试内置的 Python 命令、包或模块?

    我想调试 Python 安装附带的一些基本包和 或内置包 包括pip and venv 这个愿望来自于文件权限的错误消息 无法访问具有 不可打印文件名 的文件 我的一些团队正在运行这些命令 请参阅这个问题 https stackoverfl
  • Google 表格到日历 - 更新之前的活动脚本

    我在表格中设置了预算 并有一个脚本可以用截止日期更新我的日历 我的脚本是 function onOpen var ui SpreadsheetApp getUi ui createMenu Sync to Calendar addItem
  • CMake-CPack包安装路径噩梦

    我对 CMake CPack 感到沮丧近一周了 不好的是 CMake CPack 在线文档没有很好地记录这部分 经过谷歌搜索后 我找到了可以使用的变量 CPACK PACKAGING PREFIX NOT documented CMAKE
  • 按分钟对索引进行分组并计算平均值

    所以我有一个名为 df 的 pandas 数据框 我想删除秒数并只使用 YYYY MM DD HH MM 格式的索引 然后还会对分钟进行分组并显示该分钟的平均值 所以我想把这个数据框 value 2015 05 03 00 00 00 61
  • 5 分钟内的 Maven 问题

    我正在跟进5 分钟内完成 Maven http maven apache org guides getting started maven in five minutes html手册包含以下内容 mvn archetype generat
  • MapGroupsWithState 的 Spark 结构化流状态存储在哪里?

    我知道状态作为状态存储保存在检查点位置 但我不知道它还在内存中 存储在哪里 我创建了一个使用mapGroupsWithState的Streaming作业 但我看到执行器使用的存储内存为0 这是否意味着状态存储在执行内存中 我无法知道状态消耗
  • 如何在 Swift 中将字典保存到核心数据

    使用 Core Data 保存字典的最佳方法是什么 我有一本字典定义为 var myRecipes String Recipe 其中 Recipe 是一个包含菜谱健康信息的结构 该字符串将是 早餐 或 午餐 等类别 而食谱数组将包含早餐或午
  • 如何检查嵌入资源是否存在?

    在 Delphi 中 我正在构建一个 HTTP 应用程序 或者更确切地说是一个 Web 服务器 它本质上是一个内置于单个 EXE 文件中的整个网站 我嵌入的文件包括 HTML JS CSS SWF PNG XML 等 资源名称与原始文件名相