I have currently designed around 18 screens (Each screen is a component with templates and strings ) in Embedded Wizard Studio and for Navigation from one screen to another , I am using PresentDialog() function. The problem i see is , I am using presentDialog() function even while returning from Submenu to Main level or while navigating between different screens on same level ( E.g., Screen1 to Screen8 are in same level (Level 1 ) but different pages)
Screen 9 to screen 12 are in next level (Level 2)
Screen 13 in Level 3
Due to this , When it is dowloaded into STM32F746 DISCO board hardware , after few navigation , The HMI gets hanged.
Above diagram just interpreting a few events caused by different Buttons as Triggers for screen navigation to different level.
Could you please suggest a method to navigate through this Menu ?
I suppose, the observed hangup is in fact caused by an out-of memory error. To verify this it would be good to check the console outputs in the target system. Nevertheless I think you have already addressed the problem. You write that you use PresentDialog() to switch between the dialogs within the same level and even to return from a sub-level to the main level. This will lead early or later to the out of memory error. With each PresentDialog() new GUI component is presented and maintained in the memory. What can you do?
1. To switch the pages within one and the same level, use the method SwitchToDialog().
2. To enter a sub-level, use the method PresentDialog().
3. To return from a sub-level to a main level (or to the superior level) use the method DismissDialog().
These three methods represent the three interaction cases. They are explained in the chapter Managing Dialogs.
Does it help you further?
Ask Embedded Wizard
Welcome to the question and answer site for Embedded Wizard users and UI developers.
Ask your question and receive answers from the Embedded Wizard support team or from other members of the community!