access data from one app in another app in appdesigner

32 views (last 30 days)
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

Answers (1)

Sampath Rachumallu
Sampath Rachumallu on 27 Apr 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 Comment
Adam Danz
Adam Danz on 27 Apr 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

Sign in to comment.

Categories

Find more on Develop Apps Using App Designer in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!