Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

To resolve issues starting MATLAB on Mac OS X 10.10 (Yosemite) visit: http://www.mathworks.com/matlabcentral/answers/159016

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:

      close(gcbf)
      Pool36ex_GUI_ACESv4

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?

0 Comments

Hannah

Products

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.

2 Comments

Hannah 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.

Walter Roberson

Contact us