Dynamics4.NET FAQ: How is the rendering of the .NET UI designed?
Our rendering procedures were created as modified versions of the Progress Dynamics rendering procedures and a complete copy of the adm2 directory (adm2dotnet). The compatibility of adm2dotnet with the GUI for .NET objects and the legacy adm2 code is achieved using an OOABL framework (the compatibility layer). This keeps the ADM2 working as it is and supports all the power and beauty of a .NET UI.
This architecture makes it also way easier to change the .NET control set used (currently based on Infragistics aka OpenEdge Ultra Controls). This can be done on a case by case basis (to add special controls like DateTime-TZ FillIns) or for the whole application at once.
Non visual smart objects (like SmartDataObjects and DataViews) are not changed at all. There is no data.p or query.p in the adm2dotnet directory to guarantee that the most critical part of the application works as before – also making sure, that these objects work on the AppServer where GUI for .NET support is not available by Progress.

![[+]](/D4wiki/wiki/explorer/img/toggle1.png)

![[-]](/D4wiki/wiki/explorer/img/toggle0.png)
