title: How to store a form's design settings?
body: <p>In a <code>TForm</code> descendant with several levels of inheritance.</p>
  
  <pre><code>... TForm -&gt; TForm1 -&gt; TForm2 -&gt; TForm3
  </code></pre>
  
  <p>Each level, from the DFM designer, modifies the form's <code>Caption</code> (i.e: 'A' for <code>TForm1</code>, 'B' for <code>TForm2</code> and 'C' for <code>TForm3</code>).</p>
  
  <p>At runtime, for a <code>TForm3</code> form, I would like to save the initial <code>Caption</code>'s value ('C') in a private form's field (i.e: <code>FInitialCaption : string</code>).
  I thought to use the <a href="http://docwiki.embarcadero.com/Libraries/en/System.Classes.TComponent.Loaded" rel="nofollow noreferrer"><code>Loaded</code></a> procedure but the documentation states:</p>
  
  <blockquote>
    <p><strong>Warning: Loaded</strong> may be called multiple times on inherited forms. It is called every time a level of inheritance is streamed in. Do not
    allocate memory in an overridden <strong>Loaded</strong> method without first
    checking that the memory has not been allocated in a previous call.</p>
  </blockquote>
  
  <p>In this example case, I'm sure it will not cause any appreciable problem, but I'm wondering which is the right place for reacting to the DFM settings once for all, avoiding useless code execution?</p>