Root: ISysSettingsKey;
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».
См. также: