Root: ISysSettingsKey;
Root: Prognoz.Platform.Interop.ForeSystem.ISysSettingsKey;
Свойство Root возвращает параметры элемента «Root» из файла с настройками.
Для выполнения примера предполагается наличие файла Settings.xml. В данном файле заполнены все разделы с настройками BI-сервера. Добавьте ссылку на системную сборку Xml.
Sub UserSample;
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", "10");
//Блокировка перед сохранением
Lock := Settings.CriticalLock;
Try
Settings.Commit;
Finally
Dispose Lock;
End Try;
End Sub UserSample;
При выполнении примера в файле с настройками BI-сервера будет изменено значение параметра «MaxConnections».
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports System.Xml;
Imports Prognoz.Platform.Interop.ForeSystem;
Public Shared Sub UserProc();
Var
Settings: SysSettings = New SysSettingsClass();
Node: ISysSettingsKey;
XmlNode: XmlElement;
Lock: Object;
Begin
System.Diagnostics.Debug.WriteLine("Расположение файла: " + Settings.Location);
//Элемент Root
Node := Settings.Root;
XmlNode := Node.Element As XmlElement;
//Получение параметров элемента <Root>/<Key Name="PP">/<BIS>/<Key Name="System">/<Pool>
XmlNode := XmlNode.selectSingleNode("//Pool") As XmlElement;
//Изменение значения атрибута MaxConnections
XmlNode.setAttribute("MaxConnections", "10");
//Блокировка перед сохранением
Lock := Settings.CriticalLock;
Try
Settings.Commit();
Finally
System.Runtime.InteropServices.Marshal.ReleaseComObject(Lock);
End Try;
End Sub;
См. также: