access data from one app in another app in appdesigner

37 Ansichten (letzte 30 Tage)
Sampath Rachumallu
Sampath Rachumallu am 26 Jun. 2019
Kommentiert: Adam Danz am 27 Apr. 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

Antworten (1)

Sampath Rachumallu
Sampath Rachumallu am 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 Kommentar
Adam Danz
Adam Danz am 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

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Develop Apps Using App Designer finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by