Has anything changed in the way Menus work in SDK 3.1.6?

I need some help please.

After getting the latest SDK, there seems to be a problem with using menus.

A "Symbol not found"  error is thrown when trying to display a menu like:

WatchUi.pushView(new Rez.Menus.MainMenu(), new MainMenuDelegate(), WatchUi.SLIDE_UP);

The same code builds and works fine with all earlier SDK versions that I have (up to 3.1.4)

Even the MenuSample from the "samples" folder of the SDK is not working when trying to build and run it with 3.1.6

Has anything changed? What is the correct way to display a menu now?

  • Which device?  pc or mac?  My own apps as well as the map sample are working fine with 3.1.6

    What does it say in addition to "Symbol not found"?

  • It is in the simulator.

    As I'm trying to upgrade an app to 3.1.6 (intending to include some new code inside for BLE usage) and menus stopped working.

    Execution breaks on "Rez.Menus.MainMenu()" with Symbol not found error

    All it says in the command prompt console is

    Symbol not found 0x810....

    Reverting back to older SDK versions fixes the problem.

    Even the MenuSample from teh SDK samples behaves exactly the same way - not working with 3.1.6, working with older ones.

  • Again, I'm not seeing a problem with my own apps where I build the menu in line or I use one from resources, or things in the samples with the SDK.  What device are you using in the sim?

  • What device are you using in the sim?

    This question turns out to be spot on.

    Experimenting a little bit revealed the origin of the problem. But yet with older SDK versions this is not a problem adn everything works fine.

    I'm building for a target device edge820, but then I run the simulator as edge1030. This is when trying to invoke a menu throws an exception.

    The reason I'm doing this is because the app will eventually run on edge1030 and I need the correct screen size in the sim. In the same time however, I cannot build for edge1030 with CIQ version 3.1, because devices.xml specifies version 3.0 for the edge1030. Therefore I'm building for a device that supports 3.1 (I need new functionality from 3.1) and the closest match is edge820.