My DocBlock Data doesn't update programmatically
    3 views (last 30 days)
  
       Show older comments
    
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 Comments
Accepted Answer
  omar Elkawokgy
 on 6 May 2020
        
      Edited: omar Elkawokgy
 on 6 May 2020
  
      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');
More Answers (0)
See Also
Categories
				Find more on Event Functions in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!