Mittwoch, Oktober 25, 2006

Extension of Best Practice Checks: Complexity Analysis

Today I stumbled over an interesting PDF. It is called "Measuring Complexity In X++ Code" and written by Anders Tind Sørensen.
It looks like a Bachelor thesis for the Technical University of Denmark and what it is all about: Anders makes an addition to the Best Practice Checks in Axapta to measure the complexity of the written code. This is made by some rules like: number of lines, comment percentage, depth of inheritance, number of children, etc...

All changes made to Axapta are inside the PDF and an xpo is also mentioned, but I could not find it (and no mail address of Anders...). As there are no copyright restrictions in the document, here is a link for you to download it: http://www2.imm.dtu.dk/.../imm4708.pdf

Donnerstag, Oktober 12, 2006

Semicolon in classes: another hint

This is kinda follow up to one of my previous posts where I showed a link to Max Belugin's conclusion about semicolons in classes. (Orig post here: http://axaptafreak.blogspot.com/2006_03_01_axaptafreak_archive.html)

Today I found another funny thing about it (well it's not really my idea of fun but whatever).
I added some lines in the Info class, method startupPost (it was in fact to automatically start Tabax, a great tool by Max Belugin). Now: it was working when I started the Axapta client locally on my PC (using a 3-tier client).
But: when I logged on to a terminal server and started the Axapta client there (also 3-tier, same application, same database, same everything), it DID NOT WORK !!?!?

It took me some time to find out what the error was: a missing semicolon after the variable declarations. I still can't imagine why on earth it was working locally on my PC and not on the terminal server (there were no errors or so, it just skipped the lines).

Freitag, Oktober 06, 2006

Tabax: tabbed Axapta interface !!!!

My friend Max Belugin has implemented another great tool for Axapta: Tabax

With Tabax, you have all your open Axapta windows displayed at tabs just underneath the standard icon bar. It's great if you work with your windows maximized because now you can switch between the windows with just a click.

There are some more features like: opening table browser with a click (it will take the datasource of the current form and open the table broser for it), editing the current window, showing xreferences for the current window.

You can get it from here (it's strongly recommended!): http://www.axaptapedia.com/index.php/Tabax

Dienstag, Oktober 03, 2006

BREAKPOINT command in X++

Hi! I'm back on track and the first thing I want to share after my vacation is a rather undocumented X++ statement: BREAKPOINT

In any X++ line, you can write BREAKPOINT; which will trigger a breakpoint on this line and open the debugger. With that, you could circumvent the fact that Axapta does not know conditional breakpoints and you could write a line like that:

if (i>10)
BREAKPOINT;

I have been using this statement for years, it has been working since Axapta 1.5 (the first version I had).