主要内容

OperationResult

升级工具箱时个别操作的状态

描述

一个OperationResult对象表示升级工具箱的个人设置时单个操作的状态。

创建

创建一个ReleaseCompatibilityResults对象获取特定的工具箱版本号matlab.settings.loadSettingsCompatibilityResults函数。的结果的属性ReleaseCompatibilityResults对象包含VersionResults对象。的VersionChanges它的性质VersionResults对象包含的数组OperationResult对象。

例如,这段代码获取数组OperationResult用于版本的对象2工具箱的一部分mytoolbox

myCompatibilityResults = matlab.settings.loadSettingsCompatibilityResults(“mytoolbox”“Version2”);myCompatibilityResults.Results.VersionChanges
ans = 1×2 OperationResult数组,属性:Operation Status ExceptionLog

属性

全部展开

已执行的升级操作,指定为字符串标量。

例子:"move mytoolbox.font.MyFontSize "

升级操作状态,指定为“成功”“跳过”,或“失败”.该表描述了各种状态及可能原因。

状态 导致
“成功” N/A
“跳过” 操作中指定的设置或设置组在要升级的个人设置中不存在。
“失败” 移动操作
  • 升级后的设置树已包含具有指定名称的设置或组。

  • 指定的设置或设置组路径不是有效路径。

删除操作
  • 指定的设置或设置组路径不是有效路径。

执行升级操作时发生的第一个升级异常,指定为ReleaseCompatibilityException对象。如果没有异常,ExceptionLog是一个0乘0的数组ReleaseCompatibilityException对象。

例子

全部折叠

创建函数来创建工具箱工厂树,然后升级,然后测试升级是否成功完成。

这个函数createMyToolboxFactoryTree为工具箱创建出厂设置树mytoolbox

函数myToolboxFactoryTree = creatatemytoolboxfactorytree ()“mytoolbox”...“隐藏”、假);toolboxFontGroup = addGroup(myToolboxFactoryTree,“字体”“隐藏”假)addSetting (toolboxFontGroup“MyFontSize”“FactoryValue”11“隐藏”假的,...“ValidationFcn”@matlab.settings.mustBeNumericScalar) addSetting (toolboxFontGroup“MyFontColor”“FactoryValue”“黑”...“隐藏”假的,“ValidationFcn”, @matlab.settings.mustBeStringScalar);结束

创建函数createMyToolboxSettingsFileUpgraders空的matlab.settings.SettingsFileUpgrader对象。

函数upgraders = createMyToolboxSettingsFileUpgraders() upgraders = matlab.settings. settingsfileupgraders .empty;结束

创建settingsInfo.json工具箱的文件。指定mytoolbox作为根设置组名,createMyToolboxFactoryTree作为设置树的创建功能,和createMyToolboxSettingsFileUpgraders作为设置树的升级功能。的地方settingsInfo.json在工具箱里资源文件夹中。

“ToolboxGroupName”“mytoolbox”“隐藏”:假的,“CreateTreeFcn”“createMyToolboxFactoryTree”“CreateUpgradersFcn”“createMyToolboxSettingsFileUpgraders”

将包含设置树创建函数的文件夹和工具箱资源文件夹添加到MATLAB中®路径。然后,加载出厂设置树mytoolbox

matlab.settings.reloadFactoryFile (“mytoolbox”);

使用设置函数访问“设置”树的根并为MyFontSize设置。

S =设置;s.mytoolbox.font.MyFontSize.PersonalValue = 15;

中的设置名称createMyToolboxFactoryTreeMyFontSize而且MyFontColor字形大小而且FontColor

函数myToolboxFactoryTree = creatatemytoolboxfactorytree ()“mytoolbox”...“隐藏”、假);toolboxFontGroup = addGroup(myToolboxFactoryTree,“字体”“隐藏”假)addSetting (toolboxFontGroup“字形大小”“FactoryValue”11“隐藏”假的,...“ValidationFcn”@matlab.settings.mustBeNumericScalar) addSetting (toolboxFontGroup“FontColor”“FactoryValue”“黑”...“隐藏”假的,“ValidationFcn”, @matlab.settings.mustBeStringScalar);结束

中记录两个设置的重命名createMyToolboxSettingsFileUpgraders功能作为版本的设置树的更改2mytoolbox

函数upgraders = createytoolboxsettingsfileupgraders () upgraders = matlab.settings.SettingsFileUpgrader(“Version2”);移动(升级,“mytoolbox.font.MyFontSize”“mytoolbox.font.FontSize”);移动(升级,“mytoolbox.font.MyFontColor”“mytoolbox.font.FontColor”);结束

重新加载的出厂设置树mytoolbox

matlab.settings.reloadFactoryFile (“mytoolbox”);

使用设置函数访问“设置”树的根并验证字形大小设置已从MyFontSize设置。

S =设置;s.mytoolbox.font.FontSize
ans =设置“mytoolbox.font”。字形大小' with properties: ActiveValue: 15 TemporaryValue:  PersonalValue: 15 FactoryValue: 11

获取版本的第一次升级操作的结果2mytoolbox

compatibilityResults.matlab.settings.loadSettingsCompatibilityResults (“mytoolbox”“Version2”);compatibilityResults.Results.VersionChanges (1)
操作:“move mytoolbox.font. myfontsize mytoolbox.font. size”。FontSize" Status: "Succeeded" ExceptionLog: [0×0 matlab.settings.ReleaseCompatibilityException]

版本历史

R2019b引入