Matlab freeze when using a file dialog selection
    17 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
    Charlie Blackwall
 il 17 Ott 2017
  
    
    
    
    
    Commentato: Thomas Laubscher
 il 2 Dic 2022
            I'm having a very frustrating problem that I can't seem to solve when using file selection dialogue.
Occaisionaly when I load a file selection dialogue from a button on a GUI (using 'uigetfile'), matlab freezes and can't be recovered. The only solution is to stop the process in windows closing matlab and anything that I was working on. I've also had the same issue when using 'uiputfile'.
The problem is not repeatable and appears to be random when it occurs. It doesn't seem to matter whether I've had matlab open for hours or shortly after opening.
The method that the button callback accesses is as follows, and as you can see I've tried to use some of the tricks already suggested on this community by inserting pause and drawnow. Unfortuantely neither of these has fixed the issue and it still randomly occurs.
 %%Function to load existing data dictionary into the tool.
        function LoadDD(obj, ~, ~)
        % Go to the folder location of most recently accessed simulink
        % model
            try
                NewPath=fileparts(get_param(bdroot, 'FileName'));
                if ~strcmp('C:\Program Files\MATLAB\R2015b\toolbox\simulink\blocks\library', NewPath)...
                        &&~strcmp('C:\Program Files\MATLAB\R2015b\toolbox\stateflow\stateflow', NewPath)
                    obj.PathName = NewPath;
                end
            catch
            end
            drawnow;
            pause(0.05); %This is to prevent matlab from hanging
            [FileName,obj.PathName] = uigetfile('*.m','Select a model data dictionary', obj.PathName );
            drawnow;
            pause(0.05);
            if FileName ==0
                obj.PathName = 'C:\TEAM\PROJECTS\ControlSystemsSVN\Mathworks\';
                return
            end
% Do other stuff...
Has anyone had any experience with this issue, and found any proper solutions?
I'm using R2015b.
5 Commenti
  Andrea Carignano
      
 il 4 Ott 2018
				I have exactly the same problem but unfortunately I could not solve...
Risposta accettata
  Andrea Carignano
      
 il 5 Nov 2018
        Try to use the following command before uigetfile.
com.mathworks.mwswing.MJFileChooserPerPlatform.setUseSwingDialog(1)
Let me know.
6 Commenti
  Thomas Laubscher
 il 2 Dic 2022
				Didn't really help (Matlab 2020b). Only changed the appearance of the getfile dialog
Più risposte (2)
  Greg
      
 il 18 Ott 2017
        I just had a very similar occurrence. In my case, MATLAB was not completely frozen (Editor, documentation still worked), but it was stuck in a "Busy" state for a long time. Turned out my License Manager host server was powered down, but my MATLAB session was still live.
  Yair Altman
      
 il 19 Ott 2017
        
      Modificato: Yair Altman
      
 il 19 Ott 2017
  
      The reason and the solution are explained here: http://undocumentedmatlab.com/blog/solving-a-matlab-hang-problem
It seems that you're already using drawnow and pause(), so you sould simply increase the pause amount.
Vedere anche
Categorie
				Scopri di più su Startup and Shutdown in Help Center e File Exchange
			
	Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!









