MATLAB Answers


dealing with objects being deleted

Asked by Hannah
on 20 May 2013

So I am having a problem with the error ' Invalid or deleted object'. My program gets some data from a database after a button click. It first reads the user date input to get the specific date to query from and then gets all the data I need. it then graphs the data. I am imitating a tab functionality, which is really just 5 different buttons that graph five different sets of data (I got all the data from the fisrt button push). SO the problem is that I initially use the clearing function that basically resets the GUI window:


BUT everytime i change a 'tab', I want to clear the window and regraph with a new set of data (so they dont overlap), AND add text to the edit box that displays the date! But i get the error above because I guess when I clr and reset the window it deletes all the objects, and I get the above error. Is there a way around this?



No products are associated with this question.

1 Answer

Answer by Walter Roberson
on 20 May 2013

No, in MATLAB, a "window" is the same thing as a "figure", so if you clear the window then you clear everything in the figure including the GUI.

You should consider instead clearing only the appropriate axis; or you could put components within a uipanel and then clear the contents of the uipanel.


on 20 May 2013

Ah man... So even saving it another variable would clear that variable? Because I know I'm saving some arrays and they dont erase when I use the clearing function, but that also might be because they aren't objects.

Walter Roberson
on 20 May 2013

If you delete() a figure, then all graphics objects under it will be deleted, even if their handles are stored somewhere. You could copyobj() if the situation called for it, but I would not recommend it in the code structure you describe.

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply today