anchor.diff:  
     FIRC.AutoJoinChannels;
     TreeViewUsers.AlphaSort;
  -end;
  -
  -function TMainForm.OnChannelJoined(const Nome: string): TStrings;
  -begin
  -  Result := NovoCanal(Nome);
   end;
   
   procedure TMainForm.OnNickListReceived(const Channel: string; List: TStrings);
  
positive.code: var
    I: Integer;
  begin
    Result := nil;
    for I := 0 to PageControl.PageCount -1 do
    begin
      Result := PageControl.Pages[I];
      if Result.Caption = Channel then
        Exit;
    end;
    Assert(Result = nil);
  end;
  
  procedure TMainForm.WmAfterShow(var Msg: TMessage);
  
negative.code:     procedure TreeViewUsersSelectionChanged(Sender: TObject);
    private
      FIRC: TIRC;
      procedure AddChannelToTree(const Channel: string);
      procedure CloseChannel(const Channel: string);
      procedure CloseChannelTab(const Channel: string);
      procedure ConfigureMemo(var Memo: TMemo);
      function FindChannelNode(const Channel: string): TTreeNode;
      procedure MostrarConfig;
      procedure OnNickListReceived(const Channel: string; List: TStrings);
      procedure OnUserJoined(const Channel, User: string);
      procedure OnUserLeft(const Channel, User: string);
      function OnJoinChannel(const Channel: string): TStrings;
      procedure RemoveChannelFromList(const Channel: string);
      procedure RemoveUserFromChannelList(const User: string; const Channel: string);
      function GetTabByName(const Channel: string): TTabSheet;
      function NewChannelTab(const Channel: string): TTabSheet;
      procedure WmAfterShow(var Msg: TMessage); message WM_AFTER_SHOW;
      procedure AfterShow;
    public
  