My DocBlock Data doesn't update programmatically
5 次查看(过去 30 天)
显示 更早的评论
Hello !
I have created a DocBlock in my model and i would like to update the content programmatically. I have this code :
DocBlock = find_system('Model', 'SearchDepth', 1, 'Name', 'DocBlock');
DocBlockHandle = getSimulinkBlockHandle(DocBlock);
B = get_param(DocBlockHandle, 'UserData');
B.content = 'Test DocBlock update';
set_param(DocBlockHandle, 'UserData', B, 'UserDataPersistent','On');
save_system('Model');
When i debug, B is updated with the good content but when i run the script and i enter in my DocBlock .txt file it didn't changed i don't understand why.
EDIT : When i change directly the text of the .txt file it saves the changes but still not when i use script
Thank you !
0 个评论
采纳的回答
omar Elkawokgy
2020-5-6
编辑:omar Elkawokgy
2020-5-6
The problem in DocBlock file that it creates a temp .txt in temp folder, so what you need to do is delete this files before editing programmatically. There is a command in DeleteFcn in callbacks of the DocBlock itself called "docblock('close_document', gcb);". All you need to do is add this line to your code before calling set_param command like so:
DocBlock = find_system('Model', 'SearchDepth', 1, 'Name', 'DocBlock');
DocBlockHandle = getSimulinkBlockHandle(DocBlock);
B = get_param(DocBlockHandle, 'UserData');
B.content = 'Test DocBlock update';
docblock('close_document', DocBlockHandle);
set_param(DocBlockHandle, 'UserData', B, 'UserDataPersistent','On');
save_system('Model');
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Migrate GUIDE Apps 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!