My DocBlock Data doesn't update programmatically
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Lucas S
am 29 Apr. 2020
Kommentiert: Lucas S
am 6 Mai 2020
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 Kommentare
Akzeptierte Antwort
omar Elkawokgy
am 6 Mai 2020
Bearbeitet: omar Elkawokgy
am 6 Mai 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');
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Event Functions finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!