ISysSettings.Root

Синтаксис Fore

Root: ISysSettingsKey;

Синтаксис Fore.NET

Root: Prognoz.Platform.Interop.ForeSystem.ISysSettingsKey;

Описание

Свойство Root возвращает параметры элемента «Root» из файла с настройками.

Пример

Для выполнения примера предполагается наличие файла Settings.xml. В данном файле заполнены все разделы с настройками BI-сервера.

Добавьте ссылку на системную сборку Xml. Для примера Fore.NET добавьте ссылки на системные сборки ForeSystem, MsXml2, WinForms.Utils.

Sub UserProc;
Var
    Settings: ISysSettings;
    Node: ISysSettingsKey;
    XmlNode: IXmlDomElement;
    Lock: Object;
Begin
    Settings := New SysSettings.Create;
    Debug.WriteLine("Расположение файла: " + Settings.Location);
    //Элемент Root
    Node := Settings.Root;
    XmlNode := Node.Element As IXmlDomElement;
    //Получение параметров элемента <Root>/<Key Name="PP">/<BIS>/<Key Name="System">/<Pool>
    XmlNode := XmlNode.selectSingleNode("//Pool") As IXmlDomElement;
    //Изменение значения атрибута MaxConnections
    XmlNode.setAttribute("MaxConnections", "100");
    //Блокировка перед сохранением
    Lock := Settings.CriticalLock;
    Try
        Settings.Commit;
    Finally
        Dispose Lock;
    End Try;
End Sub UserProc;

Imports Prognoz.Platform.Interop.ForeSystem;
Imports Prognoz.Platform.Interop.MsXml2;
Imports Prognoz.Platform.PiLibNet.Utils;

Sub UserProc();
Var
    Settings: SysSettings = ComCreator.Instance.CoCreate<SysSettingsClass>();
    Node: ISysSettingsKey;
    XmlNode: IXmlDomElement;
    Lock: Object;
Begin
    System.Diagnostics.Debug.WriteLine("Расположение файла: " + Settings.Location);
    //Элемент Root
    Node := Settings.Root;
    XmlNode := Node.Element As IXmlDomElement;
    //Получение параметров элемента <Root>/<Key Name="PP">/<BIS>/<Key Name="System">/<Pool>
    XmlNode := XmlNode.selectSingleNode("//Pool") As IXmlDomElement;
    //Изменение значения атрибута MaxConnections
    XmlNode.setAttribute("MaxConnections", "100");
    //Блокировка перед сохранением
    Lock := Settings.CriticalLock;
    Try
        Settings.Commit();
    Finally
        System.Runtime.InteropServices.Marshal.ReleaseComObject(Lock);
    End Try;
End Sub;

При выполнении примера в файле с настройками BI-сервера будет изменено значение параметра «MaxConnections».

См. также:

ISysSettings