Sometimes it can be handy to test for design-time in a component unit when the component package is first loaded, e.g. within an initialization section, rather than when a component is created or registered. We use this to validate that runtime units that interoperate with a component are linked into a project, and raise an error as early as possible if they are not.
With Delphi’s RTTI, this is fairly straightforward, I believe:
function IsDesignTime: Boolean; begin Result := TRttiContext.Create.FindType('ToolsAPI.IBorlandIDEServices') <> nil; end;
Is there anything wrong with this?