I am somewhat unclear about Delphi class constructor. Say, for the following code: TMyFunkyObject = class strict private class constructor Create; public class procedure FoBar; end; I am calling TMyFunkyObject.FoBar from the initialization section of another unit.     Is it guaranteed that the class constructor will be (implicitly) called before TMyFunkyObject.FoBar?  Or the sequence is in-deterministic?