Hallo,
Project.Filename ist der Name des kompilierten Projektes. Mit ExtractFileExt solltest Du an die Dateiendung kommen.
Ansonsten schau Dir mal bitte Project.GetModuleCount und Project.GetModule(i).
GetModule liefert Dir eine IOTAModuleInfo, die Du in der Delphi 7-Hilfe finden kannst. Darüber solltest Du an eine nicht unerhebliche Zahl von Informationen kommen. Im Einzelnen kenne ich das auch nicht, da suche ich mir immer das Passende zusammen.
Bei der IOTAModuleInfo könnte für Dich z. B. der ModuleType interessant sein, da kannst Du erkennen, ob Du ein Formular, eine
Unit, ein Datenmodul... im BeforeCompile-Ereignis zur Verfügung hast. Damit kannst Du dann typabhängig über die weiteren Schritte entscheiden.