access data from one app in another app in appdesigner

32 visualizaciones (últimos 30 días)
Sampath Rachumallu
Sampath Rachumallu el 26 de Jun. de 2019
Comentada: Adam Danz el 27 de Abr. de 2020
I want to access value of string entered in editbox of app1 in app2.This is the code i have written
%app1 code
%in a button_press callback in app1
val=app1.edit.Value;
setappdata(app1.Uifigure,val); %app1.UIfigure is the UIfigure name in app1
%app2 startup function
getappdata(app1.Uifigure,val);
i am getting error like
The property 'Uifigure' in class 'app1' must be accessed from a class instance because it is not a Constant property
kindly help me to overcome to this error
thanks in advance

Respuestas (1)

Sampath Rachumallu
Sampath Rachumallu el 27 de Abr. de 2020
Found the solution. Pasting it here for reference. In app designer we can acess an app data using 'app' handle. In the above case we can store the app handle of app1 in its StartupFcn in a global variable:
%Startup function of app1
function startupFcn(app)
global app1_handle=app;
end
%Button press callback function in app2
function buttonpress_callback(app)
global app1_handle;
text_entered=app1_handle.edit.Value; %Where edit the edit_field id used in app1
end
  1 comentario
Adam Danz
Adam Danz el 27 de Abr. de 2020
Be careful with global variables. They usually cause problems and area almost always avoidable.
To have access to the app handle anywhere within your app, set the app1_handle variable as a private (or public) property of your app. Here are instructions: https://www.mathworks.com/help/matlab/creating_guis/share-data-across-callbacks-in-app-designer.html

Iniciar sesión para comentar.

Categorías

Más información sobre Develop Apps Using App Designer en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by