Форматы и договоренности — различия между версиями
(Новая страница: «Наверх __TOC__ == Конфигурация и форм...») |
|||
Строка 1: | Строка 1: | ||
[[Использование_COM_библиотеки_Oktell_из_других_приложений|Наверх]] | [[Использование_COM_библиотеки_Oktell_из_других_приложений|Наверх]] | ||
− | |||
− | |||
== Конфигурация и формат параметров == | == Конфигурация и формат параметров == | ||
Строка 8: | Строка 6: | ||
Взаимодействие осуществляется методами и callback-методами с передачей параметров простых типов (<span style="color:blue">BOOL</span>, <span style="color:blue">INT</span>, <span style="color:blue">STRING</span>). В случае необходимости передачи большого числа параметров или сложных параметров используется строковый параметр, содержащий внутри себя XML-структуру. Строка XML установленного образца по умолчанию в кодировке UTF-16 (может быть установлен любой формат методом <span style="color:darkred">SetXmlEncoding</span>). Заголовки жестко фиксированы, содержимое согласно установленной структуре тэгов и их зависимостей, но произвольно по уровням вложенности и комбинациям. | Взаимодействие осуществляется методами и callback-методами с передачей параметров простых типов (<span style="color:blue">BOOL</span>, <span style="color:blue">INT</span>, <span style="color:blue">STRING</span>). В случае необходимости передачи большого числа параметров или сложных параметров используется строковый параметр, содержащий внутри себя XML-структуру. Строка XML установленного образца по умолчанию в кодировке UTF-16 (может быть установлен любой формат методом <span style="color:darkred">SetXmlEncoding</span>). Заголовки жестко фиксированы, содержимое согласно установленной структуре тэгов и их зависимостей, но произвольно по уровням вложенности и комбинациям. | ||
− | + | <XML> | |
<?xml version="1.0" encoding="utf-16"?> | <?xml version="1.0" encoding="utf-16"?> | ||
<oktellcommapper version="80710"> | <oktellcommapper version="80710"> | ||
Строка 35: | Строка 33: | ||
</data> | </data> | ||
</oktellcommapper> | </oktellcommapper> | ||
− | + | </XML> | |
Четыре основных тега внутренней структуры: | Четыре основных тега внутренней структуры: | ||
Версия 07:29, 19 марта 2014
Конфигурация и формат параметров
Загрузка осуществляется на основе конфигурационного файла, лежащего где-либо рядом: с исполняемым модулем, запустившим процесс, со сборкой COM-объекта. Имя файла ищется под одним из имен: oktell.ClientComLib.dll.config, oktell.ClientStarter.exe.config, App.config. Параметры конфигурационного настроечного файла описаны в мануале к октеллу (здесь). Он дополнен только тремя параметрами - базового каталога для хранения логжурналов (WORK_ROOTDIR) и базового каталога для поиска сборок (MODULE_ROOTDIR) Если параметры не присутствуют, то модули ищутся в каталоге со сборкой COM, все временные папки, обновления и логи хранятся в каталоге исполняемого модуля или в каталоге со сборками (по умолчанию). Также возможно выставить параметр WORK_ROOTDIR_TYPE, который в отсутствие WORK_ROOTDIR будет указывать путь размещения всех временных папок (0 - каталог исполняемого модуля, 1 - каталог размещения сборок).
Взаимодействие осуществляется методами и callback-методами с передачей параметров простых типов (BOOL, INT, STRING). В случае необходимости передачи большого числа параметров или сложных параметров используется строковый параметр, содержащий внутри себя XML-структуру. Строка XML установленного образца по умолчанию в кодировке UTF-16 (может быть установлен любой формат методом SetXmlEncoding). Заголовки жестко фиксированы, содержимое согласно установленной структуре тэгов и их зависимостей, но произвольно по уровням вложенности и комбинациям. <XML>
<?xml version="1.0" encoding="utf-16"?> <oktellcommapper version="80710"> <property_set name="" id=""> <property_simple key="" value="" name="" /> ..... <property_simple key="" value="" name="" /> <property_cdata key="" value=""><![CDATA[]]></property_cdata> ..... <property_cdata key="" value=""><![CDATA[]]></property_cdata> <property_collection name="" count=""> <property_set name="" id=""> ..... </property_set> ..... <property_set name="" id=""> ..... </property_set> </property_collection> </property_set> ..... <property_set name="" id=""> ..... </property_set> </oktellcommapper>
</XML> Четыре основных тега внутренней структуры:
- property_simple ( <property_simple key="" value="" name="" /> ) - элементарные свойства {key,value,name}, value и name могут отсутствовать.
- property_cdata ( <property_cdata key="" value=""><![CDATA[]]></property_cdata> ) - полнотекстовые свойства с неизвестным заранее содержимым {key,value,text}, value может отсутствовать.
- property_set ( <property_set name="" id="">...</property_set> ) - набор произвольного числа property_simple и property_cdata с допустимым присутствием одного тега property_collection.
- property_collection ( <property_collection name="" count="">...</property_collection> ) - коллекция произвольного числа property_set.
Базовый внешний тег представляет собой аналог <property_collection>.
Очевидна объектная модель, лежащая в основе подобным образом организованной структуры. Рекомендация: не делать различий между property_simple и property_cdata при парсинге XML в объекты.