title: Delphi Form Creation and Showing
body: <p>I am trying to create an application with 2 forms in Delphi XE6. Depending on a <code>ParamStr</code> setting Form2 may or may not be shown before Form1.</p>
  
  <p>In a quick test app both forms are created before <code>Form1.Show</code> is invoked - during which Form2 is shown or not</p>
  
  <pre><code>procedure TForm1.FormShow(Sender: TObject);
  begin
    if ParamStr(1) = 'foo' then
        Form2.FooShow;
  end;
  
  procedure TForm2.FooShow;
  begin
     ShowModal;
  end;
  </code></pre>
  
  <p><em>However</em> in the "real" application I am seeing a different behaviour.</p>
  
  <p>In this case <code>Form1.Show</code> is being called as soon as <code>Application.CreateForm(TForm1, Form1)</code> is called. This is <em>before</em> Form2 is being created, which is causing problems as Form2 doesn't exist when it is needed.</p>
  
  <p>Any explanation why the behaviour would differ? Am I missing a setting buried somewhere in <em>Project>Options</em></p>