mfp's two cents

...on Dynamics AX Development!

Browse by Tags

Tagged Content List
  • Blog Post: X++ Debugging Tips and Tricks #4 - Reading uncommitted data

    This next trick in the X++ Debugging Tip and Tricks series is invaluable when stuck deep in a debugging session, and want to verify that the SQL statements being executed has the intended behavior. For illustrative purposes, I’ve created a small job. It updates the customer group to “40”...
  • Blog Post: X++ Pedal To The Metal

    This is a post I’ve been waiting to write for quite a while – but it had to wait until R3 became available. The SysExtension framework offers some great capabilities, but unfortunately it also comes with a performance penalty (in R2). A while ago I set out to understand where the time was spent, and...
  • Blog Post: X++ Debugging Tips and Tricks #2 – xSession::xppCallStack()

    In the first trick we saw how to set a breakpoint in the add method on the info class. This enables us to get the context of a single error.   But sometimes error messages come in hoards and stepping through each of them is not practical. Suppose you have hundreds or even thousands of errors...
  • Blog Post: X++ Debugging Tips and Tricks

    I hate debugging - I would much rather write code or watch tests execute! Debugging is a waste of time, and often follows an unpredictable path. Any developer knows the situation: A bug is discovered, and the cause must be found. Most developers have these war stories on how they fought with a bug. The...
  • Blog Post: Debug::Assert in X++

    “In computer programming , an assertion is a predicate (a true–false statement) placed in a program to indicate that the developer thinks that the predicate is always true at that place.” http://en.wikipedia.org/wiki/Assertion_(computing) What would you rather have...
  • Blog Post: TypeScript TechTalk at MDCC

    Recently Technical Fellow Anders Hejlsberg visited MDCC. He presented the latest landmark he has been working on: TypeScript . TypeScript enables compile time checking of JavaScript code – namespaces, OO classes etc. Further it gives you great tooling – such as auto-complete and refactoring...
  • Blog Post: "Internal error 25" causes and solutions

    This article applies to Microsoft Dynamics AX 2012. The error message ”Internal error 25” is a generic error message that occurs when one type is trying to be converted into another incompatible type at runtime. This error can be triggered in a myriad of different situations. However;...
  • Blog Post: Dynamic objects in C# 4.0 …and X++

    C# 4.0 which recently has been released introduces a new static type with the name dynamic . The semantic of declaring a variable as dynamic is to defer all type checking from compile-time to run-time.  This feature doesn’t enable new run-time capabilities, but it certainly makes your code more...
  • Blog Post: Microsoft Dynamics AX 2009 White Paper: Integrating a Third Party Version Control System into Microsoft Dynamics AX 2009

    A new white paper has been published on how to intergrate a third party version control system with AX2009. The white paper is a case study of the steps the MorphX team had to go through in order to integrate Team Foundation Server (TFS) into AX2009. The white paper is available for download at these...
  • Blog Post: Optional parameters in C# and X++

    In the upcoming 4.0 version of C# the language now supports optional parameters – just like X++. The following is a valid method declaration in both languages: public void foo(int parameter1, int parameter2 = 0, int parameter3 = 100) { } There are a few differences between the languages with regards...
  • Blog Post: New X++ Editor

    Vincent Nicola from our VS Tools team has posted a blog on the new X++ editor coming in AX6. This certainly is an interesting time to be an AX developer. http://blogs.msdn.com/vnicolas/archive/2009/10/11/dynamics-ax6-the-new-x-editor.aspx
  • Blog Post: AX models - Part 4 - Working with models inside MorphX

    This is my final post on models in AX for Milestone 2 (M2). Since my last post ( link ) the Dynamics AX organization has exited M2 - this means that all planed M2 features are implemented, tested, and all exit criteria passed. The exit criteria ensure quality by enforcing a required bar for a number...
  • Blog Post: Channel 9 Screencast: 10 MorphX tricks in 10 minutes

    A new AX screencasts is now available on Channel9 . It shows 10 small demos that will make you more effecient as an MorphX / X++ developer. Here is the link: http://channel9.msdn.com/posts/mfp/10-MorphX-tricks-in-10-minutes/ [Update: Media issue has been resolved.]
  • Blog Post: 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...
  • Blog Post: AX6 sneak preview - SQL AOD

    Today we built the first official build of Dynamics AX ever that does not run on AOD files. Starting today Dynamics AX's model database is stored in a Microsoft SQL Server database. Seen from within MorphX you hardly notice the difference. Everything works as it used to; there are no new feautures;...
  • Blog Post: AX6 sneak preview - X++ Unit test improvements

    These days the first milestone of AX6 is being completed. It means the first wave of new functionality has been implemented, tested and documented. As always; it is an exciting time to be working on AX... One of the features coming in MorphX in AX6 is set of improvements in the X++ Unit Test framework...
  • Blog Post: Dynamics AX 2009 Version Control Interview

    At Convergence in Copenhagen 2008 Morten Jensen (PM in the MorphX Team) and I were interviewed by Ben Riga on the version control integration in Dynamics AX 2009. In AX 4 we first introduced version control with integration to SourceSafe. In AX 2009, we introduced Team Foundation Server (TFS) support...
  • Blog Post: What's up with this semicolon?

    The most visual idiosyncrasy in X++ is the dangling semicolon separating the variable declarations from the actual code. But why is it there and why is it needed? Best practices in X++ (as in most other modern languages) suggest using TitleCase when declaring (and referring to) types, and using camelCase...
  • Blog Post: We did it (again)!

    On behalf of the Dynamics AX 2009 development team I'm proud to announce that as of build 5.0.529.0 we have reached zero X++ best practice errors in the SYS layer. Version 4.0 was the first release of Dynamics AX without any best practice errors. Reaching this level of code quality was a mammoth effort;...
  • Blog Post: Writing less code: The "else" statement

    Source code is written once; and read over and over again. So make sure it is easy to read and understand. I keep seeing a poor coding practice. I see it in production code, in test code, in X++ code, in C# code, in C++ code, in examples on the web, when interviewing candidates. I see it where ever...
  • Blog Post: Anyone interested in developer documentation of X++ code?

    A new feature in Dynamics AX 2009 enables developers to write developer documentation directly in the X++ Editor while writing the production code. The feature is very similar to the XML documentation feature in C#. Basically any method can contain /// (triple-slash) comments followed by structured...
  • Blog Post: Version control for everyone

    With Dynamics AX 5.0 there is no longer an excuse for not using a source control system when developing in MorphX. The version control integration options in Dynamics AX 5.0 both cater to larger development organizations by seamlessly integrating with Visual Source Safe and Team Foundation Server, and...
  • Blog Post: Dynamics AX 4.0 Meta Model

    If you are a new developer and is trying to ramp up on AX, this might be a post for you. In MorphX (the IDE for AX) you do model-driven development. This basically means you create new elements of certain concepts, decorate them with properties, and wire them all together. Naturally there will be requirements...
  • Blog Post: Compiler warnings - and so what?

    Every so often I find myself in a heated debate on what the quality bar should be for the code in the solution we are working on. This is an important debate, and for the project's success it should not be down prioritized. The quality bar may vary from project to project: If you are developing an internal...
  • Blog Post: Articles on X++ development

    While digging in my archives to service a request from a co-worker I stumbled across a few articles I wrote for Damgaard Technet. Those that are still valid, I've polished a bit and made available here. Behavioral information messages How to use a form tree control Delaying method calls The...
Page 1 of 2 (46 items) 12