Events 什么决定了Delphi Prism中源文件的遵从或执行顺序?

Events 什么决定了Delphi Prism中源文件的遵从或执行顺序?,events,constructor,delphi-prism,project-files,order-of-execution,Events,Constructor,Delphi Prism,Project Files,Order Of Execution,我已经编写了足够的Delphi Prism程序,可以在Windows和Linux(mono)上编译和运行而不会出现编译错误,我发现我的构造函数和加载事件的触发顺序与我预期的不同。我想,文件是按照项目文件中列出的顺序执行的,就像Delphi.dpr文件一样。说到.dpr文件,是否有一个类似的Delphi Prism文件,我没有研究。我查看了program.pas文件和属性。我没有看到任何东西给我暗示或线索 如何确保在Delphi Prism中以正确的顺序执行项目文件?Delphi Prism按照项

我已经编写了足够的Delphi Prism程序,可以在Windows和Linux(mono)上编译和运行而不会出现编译错误,我发现我的构造函数和加载事件的触发顺序与我预期的不同。我想,文件是按照项目文件中列出的顺序执行的,就像Delphi.dpr文件一样。说到.dpr文件,是否有一个类似的Delphi Prism文件,我没有研究。我查看了program.pas文件和属性。我没有看到任何东西给我暗示或线索


如何确保在Delphi Prism中以正确的顺序执行项目文件?

Delphi Prism按照项目中定义的顺序编译文件。但是,不应该有任何依赖于文件顺序的内容,因为没有初始化部分


至于你的另一个问题。Program.pas默认包含入口点,它是一个名为“Main”的方法,您可以将其视为主开始/结束。

Delphi Prism按照项目中定义的文件顺序编译。但是,不应该有任何依赖于文件顺序的内容,因为没有初始化部分


至于你的另一个问题。Program.pas默认包含入口点,它是一个名为“Main”的方法,您可以将其视为主开始/结束。

.NET不知道您的类在程序文件中列出的顺序。它只看到类

在正常情况下,您可以考虑以下规则:

静态(类)构造函数在instance.ctor或另一个静态(类)方法第一次被调用之前立即执行

虽然这并非每次都是正确的(可以更早调用,但不能稍后调用),但这是一个很好的近似值,大多数情况下都是有效的

因此,为了确保静态类初始化的特定顺序,我依赖于以下内容:
我有一个静态类,它有一个Initialize()方法。这个方法是我在程序的Main()方法中调用的第一个方法。在这个方法中,我按要求的顺序对其他类调用Initialize方法。这可以确保执行初始化代码。

.NET不知道类在程序文件中列出的顺序。它只看到类

在正常情况下,您可以考虑以下规则:

静态(类)构造函数在instance.ctor或另一个静态(类)方法第一次被调用之前立即执行

虽然这并非每次都是正确的(可以更早调用,但不能稍后调用),但这是一个很好的近似值,大多数情况下都是有效的

因此,为了确保静态类初始化的特定顺序,我依赖于以下内容: 我有一个静态类,它有一个Initialize()方法。这个方法是我在程序的Main()方法中调用的第一个方法。在这个方法中,我按要求的顺序对其他类调用Initialize方法。这将确保执行初始化代码