title: Delphi XE5 - Possibility of using Application(TApplication) variable in other units
body: <p>Using Delphi XE5 I'd like to use <strong>Application</strong> variable (TApplication type) in other unit's class. 
  If I try to pass it with <strong>var</strong> or <strong>out</strong> parameter and then use it - I get Access Violation error.
  Is there a way to get data from Application in shared .pas library?</p>
  
  <pre><code>  for TempComponent in Application.MainForm do
        if (TempComponent is TTextControl) then
           ShowMessage('Text Assigned : ' + TempComponent.Name)
        else
           ShowMessage('No TTextControl Descendant : ' + TempComponent.Name);
  </code></pre>
  
  <p>I have <strong>included FMX.Forms</strong> in every unit. The above code works in main form class procedures, but when I use it in other unit I get AV in running application. </p>