/// ----------------------------------------------------------------------------- /// <summary> /// Configuration du client /// </summary> /// <param name="sender">l'appelant</param> /// <param name="e">les parametres</param> /// ----------------------------------------------------------------------------- private void ConfigureItem_Click(object sender, EventArgs e) { var previous = ClientState; ClientState = EClientState.Changing; using (var setup = new SetupForm(_client.ClientConfig)) { if (setup.ShowDialog() == DialogResult.OK) { /* * Petite subtilite: a ce moment la configuration m_client contient de faux loggers * utiles uniquement pour sauvegarder le parametrage dans le fichier de configuration. * * Par contre les vrais instances des loggers sont conserves dans l'ancetre BdtClient. * UnLoadConfiguration va fermer ces loggers. LoadConfiguration va recharger le fichier * de configuration prealablement sauvegarde pour remettre a jour les instances -> * rechargement de la section logs uniquement * */ ClientState = previous; WaitThenStopClientIfNeeded(); try { _client.ClientConfig.SaveToFile(Path.GetDirectoryName(Application.ExecutablePath) + Path.DirectorySeparatorChar + _client.ConfigFile); _client.UnLoadConfiguration(); _client.LoadConfiguration(); StartItem_Click(sender, e); } catch (Exception ex) { _client.Log(ex.Message, ESeverity.ERROR); _client.Log(ex.ToString(), ESeverity.DEBUG); } } else { ClientState = previous; } } }