Показано с 1 по 6 из 6
  1. #1
    Пользователь
    Регистрация
    10.03.2009
    Сообщений
    68
    Вес репутации
    207

    По умолчанию Помогите начинающему

    Привет!

    Первый вопрос такой - как сохранить конфиг?
    В SDK в примере HelloWorld есть только как прочитать и коммент, мол позаботьтесь как записать сами
    Код:
    if(returnvalue == DialogResult.OK)
    {
        // code here for saving the modified settings
    
        // Reloads plugin configuration.
        LoadSettings();
    }
    В LoadSettings():
    Код:
    // Loads the plugin configuration from the specified path. 
    this.CF_loadConfig(...);
    А вот обратной функции, типа CF_saveConfig() я что-то не нашел
    И сам пример из SDK реально не сохраняет конфиг
    Куда копать?
    Последний раз редактировалось AMurchick; 15.10.2009 в 06:12.
    TOYOTA CAMRY - NEXUS 7

  2. #2
    Местный
    Регистрация
    06.07.2009
    Возраст
    47
    Сообщений
    125
    Вес репутации
    270

    По умолчанию Re: Помогите начинающему

    Можно сделать так. Правда код на С++, но особой разницы нет.

    Читаем конфиг
    Код:
    configxml = gcnew XmlDocument();
    configxml->Load(configfilepath);
    Меняем значения
    Код:
    void Setup::updateConfig(String^ xpath, String^ xvalue)
    {
         if (configxml->SelectSingleNode(xpath) != nullptr)
             configxml->SelectSingleNode(xpath)->InnerText = HttpUtility::HtmlEncode(xvalue);
    }
    Сохраняем конфиги
    Код:
    configxml->Save(configfilepath));
    Ну а читать можно через обычный this->pluginConfig->readPluginField (...);
    Последний раз редактировалось Pepper; 15.10.2009 в 06:27.

  3. #3
    Пользователь
    Регистрация
    10.03.2009
    Сообщений
    68
    Вес репутации
    207

    По умолчанию Re: Помогите начинающему

    Цитата Сообщение от Pepper Посмотреть сообщение

    Сохраняем конфиги
    Код:
    configxml->Save(configfilepath));
    Вот самое интересное, что в том же примере при подтверждениее сохранения конфига - вызывается этот самый метод Save():
    if (this.CF_systemDisplayDialog(CF_Dialogs.YesNo, LanguageReader.getText("APPLANG/SETUP/OVERWRITETEXT"), null, null, out temp, out temp2, out tempobject, null, true, true, true, true, false, false, 1) == DialogResult.OK)
    {
    configxml.Save(Environment.GetFolderPath(Environme nt.SpecialFolder.LocalApplicationData) + "\\Centrafuse\\" + PluginPath + ConfigurationFile);
    languagexml.Save(PluginPathLanguages + configxml.SelectSingleNode("/APPCONFIG/APPLANG").InnerText + ".xml");
    this.DialogResult = DialogResult.OK;
    }
    Но реально конфиг не сохраняется.
    Т.е. я в примере меняю логгирование с OFF на ON и записываю - конфиг не изменяется, почему-то
    TOYOTA CAMRY - NEXUS 7

  4. #4
    Местный
    Регистрация
    06.07.2009
    Возраст
    47
    Сообщений
    125
    Вес репутации
    270

    По умолчанию Re: Помогите начинающему

    Цитата Сообщение от AMurchick Посмотреть сообщение
    Вот самое интересное, что в том же примере при подтверждениее сохранения конфига - вызывается этот самый метод Save():


    Но реально конфиг не сохраняется.
    Т.е. я в примере меняю логгирование с OFF на ON и записываю - конфиг не изменяется, почему-то
    А каким способом ты меняешь конфиг? И в какой папке лежит твой конфиг (полный путь), который должен при изменении поменяться?

  5. #5
    Пользователь
    Регистрация
    19.08.2009
    Сообщений
    58
    Вес репутации
    293

    По умолчанию Re: Помогите начинающему

    XmlDocument configxml = default(XmlDocument);// объевляем xml объект
    this.configxml.Load("plugins/FSProgramm/config.xml"); //загружаем xml документ
    this.configxml.SelectSingleNode("/APPCONFIG/SAVEONSHUTDOWN").InnerText = "False";// вносим изменения
    this.configxml.Save("plugins/FSProgramm/config.xml");//сохраняем изменения

  6. #6
    Пользователь
    Регистрация
    10.03.2009
    Сообщений
    68
    Вес репутации
    207

    По умолчанию Re: Помогите начинающему

    Цитата Сообщение от Pepper Посмотреть сообщение
    А каким способом ты меняешь конфиг? И в какой папке лежит твой конфиг (полный путь), который должен при изменении поменяться?
    Ключевая фраза
    Я смотрел в C:\Program Files\Flux Media\Centrafuse\Plugins\HelloWorld\config.xml

    А конфиг сохранялся в C:\Documents and Settings\Administrator\Local Settings\Application Data\Centrafuse\Plugins\HelloWorld\config.xml



    Всем сорри за беспокойство и спасибо!
    TOYOTA CAMRY - NEXUS 7

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •