TPath记录具有类构造函数TPath.Create,它初始化类变量。但是,我找不到任何使用TPath.Create /调用dispite的单元,这个所有变量都有正确的值(TPath.PathSeparator,...)。
答案 0 :(得分:10)
类构造函数由Delphi生成的初始化代码自动调用 。类构造函数在声明它们的单元的初始化部分期间被调用。
中有更详细的描述类构造函数是开发人员无法访问的特殊类方法。编译器会自动将对类构造函数的调用插入到定义类的单元的初始化部分。通常,类构造函数用于初始化类的静态字段或执行初始化类型,这在类或任何类实例正常运行之前是必需的。即使通过将类初始化代码放入初始化部分可以获得相同的结果,类构造函数的好处是可以帮助编译器确定哪些类应该包含在最终的二进制文件中,哪些应该从中删除。
你可以通过启用Debug DCU然后在类构造函数中的代码上设置断点来看到这一点。