AX6 sneak preview – elements with 32 bit IDs



In AX4 we added Unicode support. On one hand it seems like a minor thing, it is just the storage format of strings – on the other hand it literally opens up a new world of opportunities. From a technical perspective it was a major surgical challenge; not many system files remained untouched in the process.


The same is very much true for the effort we have just completed in AX6: We have extended the ID range of concepts such as Classes, Tables, Base Enums, Extended Data Types, etc. from 16 bit to 32 bit. This certainly was a major surgical challenge; most files in the system had to be updated; still from business logic and other consumers it is still just an integer. What about the opportunities? First of all (which is very important here at Microsoft, but of little significance to everyone else) it enables Microsoft to not “run-out-of-IDs” and continue development with without disruptions. Secondly; the wider range gets us one big step closer to solving the ID problem. Now we have a range wide enough to contain solutions from various sources; we just need to figure out how to avoid conflicts between solutions other and already installed bits.


This will be the last sneak-preview for a while. We are now starting a new milestone, and I’ll be back with more once I have more features to describe.  


THIS POST IS PROVIDED AS-IS AND CONFERS NO RIGHTS.

Comments (4)

  1. Steffen Denize says:

    Once again – it is nice to know that extensive development resources are put into the future versions of AX ( from a developer perspective ). Can’t wait to see what the IDE will bring in AX6, as I still could use some nice-to-haves, such as line numbering in the editor window, the options of collapsing { } and highlighting brackets (as in VS ) and "smart typing" which obviously can be done since a plug-in can be integrated with ax ( also known from VS )

    Regards

  2. Denis says:

    so in AX6 Global::isSysId() method wouldn’t help to tell if a class/table/EDT (for a given classId, tableId or extendedTypeId) originates from kernel or from AX application, right? 🙂  will kernel object ids remain in the range 0xf000-0xffff?

  3. mfp says:

    It is a bit early to dwell into those details. For now; rest assured that we are keeping as many APIs as possible to limit the required refactoring of code.