Capturing unhandled errors in JavaScript Control Add-ins

  • Post comments:5 Comments
  • Reading time:5 mins read

Not that I am saying it’s a good thing, but trial and error is a fairly common approach to debugging in the NAV world. We’ve all done it. Heck, even with the comprehensive testability framework built in, we all still do it more often than we’re happy to admit while sober.

But the overlord of trial and error in NAV is development of control add-ins in JavaScript. JavaScript itself is making it difficult in the first place, and then integration with NAV makes it even harder.

There is one situation in particular that’s adding a cherry on top of all of problems, and it’s the creepy “A script error has occurred” error message. It’s the equivalent of the BSoD.

(more…)

Continue ReadingCapturing unhandled errors in JavaScript Control Add-ins

Overloading Methods With JavaScript Control Add-ins

  • Post comments:9 Comments
  • Reading time:5 mins read

Switching from C# to JavaScript to develop your control add-ins might get you scratching your head more often that your scalp, or nails for that matter, might be happy with.

One of those is overloading. In C#, this is a no-brainer:

However, when you want to do that in JavaScript, if you are not a JavaScript developer, making this work is not as straightforward as a regular JavaScript Joe would find it.

(more…)

Continue ReadingOverloading Methods With JavaScript Control Add-ins

Try..Catch for .NET Interoperability

  • Post comments:2 Comments
  • Reading time:13 mins read

While it may be a cold day in hell before we see any TRY..CATCH constructs in pure C/AL, we are all far more lucky when it comes to .NET interoperability. In this blog post I’ll (re)present the same concept I demonstrated during NAV TechDays 2013 last year in Antwerp, because I am quite sure this nifty little trick got lost under piles of other posts on this blog.

So, let’s learn how to do try..catch..finally for .NET interoperability C/AL code, using mostly C/AL code.

(more…)

Continue ReadingTry..Catch for .NET Interoperability