1 2 3 4 | initialization begin ShowMessage( 'Inside [Unit Name Here]' ); end ; |
I turned to the SO community asking for an easy way to generate a list of forms/units in the order they are created. I received the simplest and most elegant solution from Uwe Rabbe. He recommended looking at the C=ICODE segments of the map file.
My first two questions were, "What's a map file? And how do you create one?"
Information on what a *.map file is can be found here.
http://docwiki.embarcadero.com/RADStudio/Rio/en/API_%28%2A.map%29
To create a .map file from inside the IDE click Project > Options > Delphi Compiler > Linking
Set Map file := Detailed
Click Save
Then build your project and you will have a *.map file.
The reason I was having such a hard time tracking down where the file deletion was happening was because it took place within a "dll" file.
Line 47 of the map file shows the first unit of my project is Zglobals (yes the dreaded global unit). Lines 58-60 show the next three units from my project.
Line 59 StdDlls is a precompiled dll unit that I am unable to modify the source code for because it uses "Quick Reports". I do not have Quick Reports installed on my new dev computer. Therefore I cannot actually modify the source code for this unit.
It turns out that the file delete was happening inside the dll.
I just thought that Uwe Rabbe's solution to creating an ordered list of form/units was so simple and elegant I needed to share it with you in case you ever need a quick and easy way to see the order in which each Delphi unit gets created inside one of your projects.
Cheers!
Semper Fi,
Gunny Mike