Call method from another GUI

13 visualizzazioni (ultimi 30 giorni)
Ryan Sinfield
Ryan Sinfield il 18 Nov 2016
Commentato: Ryan Sinfield il 18 Nov 2016
I have two GUIs, GUI1 and GUI2. Before I close GUI2 completely, I want to call a function from GUI1.
% In GUI2
gui1 = findobj('Tag', 'GUI1');
gui1.callThisBeforeClosingFcn();
close(handles.GUI2);
I get an error when trying to call the GUI1 function - "No appropriate method, propery, or field 'callThisBeforeClosingFcn' for class matlab.ui.Figure."
What is the correct way to call that function?

Risposte (1)

Jan
Jan il 18 Nov 2016
Modificato: Jan il 18 Nov 2016
I cannot guess, what "gui1.callThisBeforeClosingFcn()" should be. Perhaops you want to call a function before closing the figure autoamtically? But what might "from another GUI" mean then...
figure('CloseRequestFcn', @callThisBeforeClosingFcn, ...
'DeleteFcn', @callThisBeforeClosingFcn);
and your function:
function callThisBeforeClosingFcn(FigH, EventData)
handles = guidata(FigH);
... do whatever you want
figure('CloseRequestFcn', [], ...
'DeleteFcn', []);
delete(figure);
Now simply close or delete the figure, or close it using the "x" in the window border and the specified function is called automatically.
  2 Commenti
Ryan Sinfield
Ryan Sinfield il 18 Nov 2016
The function I want to call is from another GUI's m file. I have GUI2.m, from which I need to call the function callThisBeforeClosingFcn that is located in GUI1.m. Does this help clarify?
Ryan Sinfield
Ryan Sinfield il 18 Nov 2016
In other words - I want to call a method from another m file. How can I do that?

Accedi per commentare.

Categorie

Scopri di più su Interactive Control and Callbacks 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!

Translated by