Order of code execution seems weird
2 次查看(过去 30 天)
显示 更早的评论
I have built an app that executes long functions. In my GUI I have something like a MessageWindow (Colored-Edit-Field). When clicking a button to calculate something that takes a while I want to show a Message like: "LOADING. . ." The according code is shown below.
When I execute the code by clicking the button, the Message is not shown. The calculation function ist executed though.
When I step through my code with the debugger line by line, it works fine. So for me it seems like MATLAB ist not executing the code in the correct order. Can somone explain me what the problem could be here?
%% Function in app.PlotSetup
function printProcess(app, message)
app.StatusEditField.BackgroundColor = app.yellow;
app.StatusEditField.Value = message;
end
%% Code in app.Plotting
% Function to show message
printProcess(app.PlotSetup, "LOADING WITH SELECTED PARAMETERS...")
% Big calculation function
continueImportProcess(app.PlotSetup)
1 个评论
Jon
2023-11-16
Would it be possible for you to make a self contained example that reproduces the problem and attach it?
采纳的回答
Stephen23
2023-11-16
移动:Image Analyst
2023-11-16
Try calling DRAWNOW after setting the editfield values.
更多回答(1 个)
Bruno Luong
2023-11-16
%% Function in app.PlotSetup
function printProcess(app, message)
app.StatusEditField.BackgroundColor = app.yellow;
app.StatusEditField.Value = message;
drawnow % force GUI to refresh
end
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Startup and Shutdown 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!