/// <summary>
        /// Try to connect to the server
        /// </summary>
        /// <param name="strHostName">  Host name</param>
        /// <param name="iPortNumber">  Port number</param>
        /// <param name="strUserName">  User name</param>
        /// <param name="strPassword">  Password</param>
        private void InitializeConnection(string strHostName, int iPortNumber, string strUserName, string strPassword)
        {
            FICSConnection conn;
            string         strError;

            ConnectionSetting.HostName  = strHostName;
            ConnectionSetting.HostPort  = iPortNumber;
            ConnectionSetting.Anonymous = String.Compare(strUserName, "guest", true) == 0;
            ConnectionSetting.UserName  = strUserName;
            conn = new FICSConnection(m_ctlMain, ConnectionSetting);
            if (!conn.Login(strPassword, 10, out strError))
            {
                conn.Dispose();
                Dispatcher.Invoke((Action)(() => { ConnectionDone(false /*bSucceed*/, null /*conn*/, strError); }));
            }
            else
            {
                Dispatcher.Invoke((Action)(() => { ConnectionDone(true /*bSucceed*/, conn, null /*strError*/); }));
            }
        }