title: "Using" is not solving the "hides virtual function" warning
body: <p>I have been googling high and low and can't find a solution that will remove the warning, even when I use the <code>using</code> directive.</p>
  
  <pre><code>class TShowException_Form : public TForm {
  
      __published: // IDE-managed Components
          TButton *Send_Button;
          TButton *Cancel_Button;
          TLabel  *Message_Label;
  
      private:    // User declarations
          using TCustomForm::ShowModal;
          //using TForm::ShowModal;
  
      public:     // User declarations
              __fastcall TShowException_Form(TComponent* Owner);
          int __fastcall ShowModal(System::Sysutils::Exception *E);
  };
  </code></pre>
  
  <p>I want to hide the original <code>virtual int __fastcall ShowModal(void)</code> and expose a new one taking an Exception parameter.</p>
  
  <p>But it still complaints on "hides virtual function":</p>
  
  <pre><code>[bcc32 Warning] TShowExceptionForm.h(32): '_fastcall TShowException_Form::ShowModal(Exception *)' hides virtual function '_fastcall TCustomForm::ShowModal()'
  </code></pre>
  
  <p>I have also tried <code>using TForm::ShowModal;</code> but with the same result.
  Any ideas of how to solve this warning?</p>
  
  <hr>
  
  <p><strong>EDIT</strong><br>
  I found out that it works perfectly well if I override the <code>show()</code> method instead:  </p>
  
  <pre><code>class TShowException_Form : public TForm {
  
      __published: // IDE-managed Components
          TButton *Send_Button;
          TButton *Cancel_Button;
          TLabel  *Message_Label;
  
      private:    // User declarations
          using TForm::ShowModal;
          using TForm::Show;
  
      public:     // User declarations
              __fastcall TShowException_Form(TComponent* Owner);
          int __fastcall Show(System::Sysutils::Exception *E);
  };
  </code></pre>
  
  <p>So why isn't it working with <code>ShowModal()</code>?</p>