在Delphi中初始化单元之前添加代码

2023-12-03

是否有地方可以添加将在单元初始化之前执行的代码?

我想这样做的原因是我需要更改 DecimalSeparator,这必须在某些单元初始化之前完成。我已将其放在 Application.Initialize 之前的项目源中,但那时为时已晚。

在我看来,我唯一的选择就是将其放在需要更改小数分隔符的单元的初始化中,是这种情况吗?

预先感谢您的任何建议。


Delphi 中的初始化顺序是确定性的:单元按照编译器编译它们的顺序进行初始化,并按照相反的顺序完成。编译器从 DPR 的顶部开始uses子句并向下工作,对于它找到的每个单元,它递归地执行相同的操作:从uses子句,尝试编译每个尚未编译的已使用单元,然后编译当前单元。因此,如果您可以在编译任何其他单元之前获取您的单元,那么它将首先进行初始化。

如果您想确保它首先被执行,请创建一个新单元,将您的更改放入该单元的初始化块,然后确保它最终出现在 DPR 中依赖于更改的任何单元之前。您甚至可能希望将其作为第一个单元,除非您已经有其他“必须是第一个”单元,例如替换内存管理器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在Delphi中初始化单元之前添加代码 的相关文章

随机推荐

  • 如何避免 jimp 阻塞 Node.js 代码

    我正在使用 Jimp 来处理一些照片 我有一个包含照片的数组 像这样 var images pic 1 jpg pic 2 jpg pic 3 jpg pic 4 jpg 这是操纵它们的代码 images forEach function
  • 从子文件夹中选取根文件夹的图像

    Let s say following is the directory structure of my website Now in index html我可以简单地参考如下图像 img src images logo png 但我想引用
  • 如何在elasticsearch中索引时进行映射

    我在用ElasticSearch在我索引数据的网站中MongoDB def postToEs self put data to the elasticsearch es Elasticsearch cursor self getMongoD
  • 如何获取元素相对于浏览器视口的顶部位置?

    我想获取元素相对于浏览器视口 显示页面的视口 而不是整个页面 的位置 这如何在 JavaScript 中完成 非常感谢 现有的答案现在已经过时了 当地人getBoundingClientRect 方法已经存在很长一段时间了 并且完全符合问题
  • 使用java根据月日动态绘制条形图

    我创建了一个BarChart using jfreechart在java中 该条形图根据一个月中的天数绘制 例如本月 3 月包含 31 天 因此将有 31 个柱 问题是 当我单击 下一步 按钮时 月份更改为四月 其中包含 30 天 即 30
  • Windows 7 中的命令行照片打印

    我需要在 Windows 7 中从命令行打印照片 jpg 我尝试使用 lpr 但没有成功 并找到了适用于 Windows XP 的方法 如下所示 rundll32 shimgvw dll ImageView PrintTo pt myPho
  • 为什么《Java虚拟机内部》说“NewbornBaby不需要加载”?

    Java 虚拟机内部 第 7 章类型的生命周期 初始化有如下代码片段 class NewParent static int hoursOfSleep int Math random 3 0 static System out println
  • 异步javascript问题[重复]

    这个问题在这里已经有答案了 我正在尝试做一个函数details 查找某些事件的详细信息 getdetails 基于可用事件 在下面的示例中 询问 ID 为 ZRGZZ RGHER 和 GRFDZ 的事件的详细信息 这些详细信息应放置在一个数
  • 使用 Google API 接收 Firebase 主题消息状态

    最近 我在我的应用程序中集成了 Firebase 主题概念 并且订阅了近 2000 个用户 并且每天通过我的应用程序服务器触发通知 我想知道有多少用户交付但失败了 因为如果某些用户未送达且失败 我将再次向这些成员设置重试通知 对此有什么想法
  • PHP - 尝试获取非对象的属性

    我正在尝试迭代一个名为的对象属性items包含一个数组 foreach this gt footerList gt items as item 当我执行该语句时 我收到一条错误消息 尝试获取非对象的属性 即使 var dump this g
  • 如何在jsp中拉出选定的单选按钮

    我有两个单选按钮 根据选择的单选按钮 我想将它们发送到特定的 jsp 页面 我不知道如何拉动在我的java类中选择的按钮 这是jsp
  • 使用 AssetsLibrary 框架 iPhone 访问库中的视频?

    我正在尝试在以下代码的帮助下使用 AssetsLibrary Framework 访问 iPhone 库中的视频 但是当我运行应用程序时 代码不起作用 数组资产仍然为空 我究竟做错了什么 顺便说一句 我的 iPhone 是 3G 升级到 i
  • 将文本添加到另一个程序文本框 C++

    我已经成功地将文本发送到我使用 C 创建的自定义文本框 以及记事本 计算器和其他程序 所有这些程序都带有 1 个窗口和 1 个文本框 但是 我想将文本发送到另一个具有多个文本框并且也在选项卡中的程序 它的结构如下 开放程序 从 2 个选项卡
  • 如何返回使用 malloc 分配的指针的大小?

    看这个例子 int main int argc char argv int ptr malloc 100 sizeof int printf sizeof array is d bytes n sizeof ptr printf 函数只返回
  • 使用drive.file范围执行查询时出现错误500

    此代码在 https www googleapis com auth drive 范围内运行良好 File folderEntry drive files get XXXXj0 srDPPGUEtHaVYtZFljMEk execute S
  • 如何在 Dymola (Modelica) 中使用 /bigobj 进行编译

    我正在将一个相对较小的有限元 FE 模型集成到 Modelica 中 为此 我创建了一个模型 Modelica 类 它可以读取 Matlab 二进制文件格式的质量 M 和刚度 K 矩阵 我将 FE 模型与 Modelica 标准库 Mode
  • 开始 iPhone 开发

    我是那种通常通过实践来学习的人 我有一个应用程序的想法 但我很矛盾 如果我应该开始开发 当我遇到一些东西时 只需在我的书 流行的 apress 葡萄柚书 中查找它 或者只是先通读这本书 了解基础知识 有什么建议么 我已经读完第五章了 你们都
  • 如何在QT(QGraphicsView)中打开svg文件

    如何打开 svg 文件 如 png 文件 例如它适用于 png 文件 scene new QGraphicsScene QRect 10 10 680 520 view new QGraphicsView this image new QG
  • 使用 jquery 从表中获取值作为键值对

    我有一张桌子 table class datatable caption hospitalization rates test caption thead tr th Funding Source th th Alameda County
  • 在Delphi中初始化单元之前添加代码

    是否有地方可以添加将在单元初始化之前执行的代码 我想这样做的原因是我需要更改 DecimalSeparator 这必须在某些单元初始化之前完成 我已将其放在 Application Initialize 之前的项目源中 但那时为时已晚 在我