How to use public properties in matlab app designer?

33 visualizaciones (últimos 30 días)
Muazma Ali
Muazma Ali el 5 de Jun. de 2023
Comentada: Kevin Holly el 7 de Jun. de 2023
Hi
I have two apps , the one in invoking the other. app2 is invoking the app 3. The app 3 consists of a listbox which is supposed to show up as many times as the number of zones (chosen by the user in app 2)
I thought I was supposed to define antall_soner as public property in both app2 and in app 3 as both of them are using this variable but the value of it is set in app2.
I dont know why but I an getting a warning when I am in the code view though I have set app. antall_soner everywhere.
Can anybody help me with my problem?

Respuesta aceptada

Kevin Holly
Kevin Holly el 6 de Jun. de 2023
I have modified your apps and attached them here.
In app3, I added a Callingapp property. In code view, I clicked "App Input Argument" and added "app2" as an input variable. Within the startup function, I added, "app.Callingapp = app2".
For app2, I modified how you called app3. Instead of just app3, it is now app3(app) - this includes all the property variables in app2 as an input to app3.
Please also see the link here on creating multiwindow apps in App Designer:
Let me know if you have any more questions.
  6 comentarios
Muazma Ali
Muazma Ali el 7 de Jun. de 2023
@Kevin Holly By the way could you just have written app.app2 in the startup function and just app2 as the public property . If I understood it correctly you just chose to have new variable and set it equal to app2 so it could be easier to understand the code..?
Kevin Holly
Kevin Holly el 7 de Jun. de 2023
In app2, app3 was called with the input "app" as such:
app3(app)
"app" here includes access to all of the property variables in app2.
In app3, I added a Callingapp property. In code view, I clicked "App Input Argument" and added "app2" as an input variable. Within the startup function
app.Callingapp = app2
You could have named the input variable "mainapp" and written the startup function as:
app.Callingapp = mainapp
Now if you want to access any of the property variables from app2 in app3, you can type:
app.Callingapp.VariableName
where "VariableName" is one of the property variables in app2.

Iniciar sesión para comentar.

Más respuestas (0)

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