title: WriteComponentResFile is not including components dynamically added to TTabSheet
body: <p>I am trying to convert a set of forms that were created with a custom tool to Delphi forms.  I am trying to add all the necessary components at runtime and then use WriteComponentResFile to create the DFM file.  </p>
  
  <p>All of my initial tests looked good until I tried adding a TPageControl and TabSheets.  The current forms can have multiple pages so I was going to mirror this using the PageControl.  The problem is any components I add to a TabSheet are not streamed out to the DFM.  It looks good if I show the form but something is missing for WriteComponentResFile.</p>
  
  <p>I am writing out a corresponding pas file so I can open this up in the IDE once they are done.  The goal is to move away from the custom form designer and start to use the Delphi IDE for our form designer.</p>
  
  <p>Here is some sample code showing how I am creating the components:</p>
  
  <pre><code>procedure WriteFormAsDFM(OutputFileName: string);
  var
    PageIndex: integer;
    PageCount: Integer;
    OutputForm: TForm;
    Pages: TPageControl;
    NewPage: TTabSheet;
    NewLabel: TLabel;
  begin
  
    OutputForm := TForm.Create(nil);
    OutputForm.Name := ChangeFileExt(ExtractFileName(OutputFileName), '');
    OutputForm.Caption := OutputForm.Name;
    OutputForm.Height := 300;
    OutputForm.Width := 300;
  
    Pages := TPageControl.Create(OutputForm);
    Pages.Parent := OutputForm;
    Pages.Top := 50;
    Pages.Left := 0;
    Pages.Height := 200;
    Pages.Width := 200;
  
    NewLabel := TLabel.Create(OutputForm);
    NewLabel.Parent := OutputForm;
    NewLabel.Caption := 'Label on Form';
  
    //write pages
    PageCount := 2;
  
    for PageIndex := 0 to PageCount - 1 do
    begin
      NewPage := TTabSheet.Create(Pages);
      NewPage.Parent := Pages;
      NewPage.PageControl := Pages;
      NewPage.Caption := 'Page ' + IntToStr(PageIndex);
      NewPage.Name := 'tsPage' + IntToStr(PageIndex);
  
      NewLabel := TLabel.Create(NewPage);
      NewLabel.Parent := NewPage;
      NewLabel.Caption := 'Label on ' + NewPage.Caption;
    end;
  
    WriteComponentResFile(OutputFileName, OutputForm);
    //WritePasFile(OutputFileName, OutputForm);
  
    OutputForm.ShowModal;
  
    FreeAndNil(OutputForm);
  end;
  </code></pre>
  
  <p>and here is the DFM file that is output.  You can see the label on the form is created but not the labels added to the TabSheets.</p>
  
  <pre><code>object Form123: TForm
    Left = 69
    Top = 69
    Caption = 'Form123'
    ClientHeight = 264
    ClientWidth = 284
    Color = clBtnFace
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clWindowText
    Font.Height = -11
    Font.Name = 'Tahoma'
    Font.Style = []
    OldCreateOrder = False
    PixelsPerInch = 96
    TextHeight = 13
    object TLabel
      Left = 0
      Top = 0
      Width = 67
      Height = 13
      Caption = 'Label on Form'
    end
    object TPageControl
      Left = 0
      Top = 50
      Width = 200
      Height = 200
      ActivePage = tsPage0.Owner
      TabOrder = 0
      object tsPage0: TTabSheet
        Caption = 'Page 0'
        ExplicitLeft = 0
        ExplicitTop = 0
        ExplicitWidth = 0
        ExplicitHeight = 0
      end
      object tsPage1: TTabSheet
        Caption = 'Page 1'
        ExplicitLeft = 0
        ExplicitTop = 0
        ExplicitWidth = 0
        ExplicitHeight = 0
      end
    end
  end
  </code></pre>