I Always thought that the correct order of forms's life cycle is initialization -> Create -> OnCreate -> OnDestroy -> Destroy -> finalization which works for following code.
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TUMain, UMain);
Application.Run;
However when i make a little change...
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TUMain, UMain);
if 1 = 2 then
Application.Run;
then TUMain order changes to initialization -> Create -> OnCreate -> finalization -> OnDestroy -> Destroy
So I wonder, how is exact order controlled or at least what caused the change in this case?