Order of code execution seems weird

4 vues (au cours des 30 derniers jours)
Nico
Nico le 16 Nov 2023
Commenté : Nico le 16 Nov 2023
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 commentaire
Jon
Jon le 16 Nov 2023
Would it be possible for you to make a self contained example that reproduces the problem and attach it?

Connectez-vous pour commenter.

Réponse acceptée

Stephen23
Stephen23 le 16 Nov 2023
Déplacé(e) : Image Analyst le 16 Nov 2023
Try calling DRAWNOW after setting the editfield values.
  1 commentaire
Nico
Nico le 16 Nov 2023
Thanks! Works perfectly.

Connectez-vous pour commenter.

Plus de réponses (1)

Bruno Luong
Bruno Luong le 16 Nov 2023
%% Function in app.PlotSetup
function printProcess(app, message)
app.StatusEditField.BackgroundColor = app.yellow;
app.StatusEditField.Value = message;
drawnow % force GUI to refresh
end

Catégories

En savoir plus sur Introduction to Installation and Licensing dans Help Center et File Exchange

Produits


Version

R2023a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by