2014
-
Detecting current object type and ID using some funky .NET Interop
Did you ever need to identify the current object type and ID, programmatically, from within the object? For example, detecting the current table ID in a table trigger like this guy ? Or current codeunit ID from inside the codeunit? Why would you need something like this?
-
Detect file encoding in C/AL using .NET Interop
When importing files using XMLports, and especially when handling text files, file encoding is important. If the XMLport expects ASCII, and you feed it UTF-8, you may get scrambled data. If you have mismatching unicode input files, it may just fail altogether.
-
A .NET Interoperability Lesson: Mapping indexed properties to C/AL
Indexed properties are commonly used in C# because they allow a lot of syntactical flexibility, and make the code more readable, and easier to follow. Indexed properties are very similar to C/AL array indexing, except for two important differences: In C/AL, indexer is always 1-based. In C#, indexers are 0-based.
-
Trick: Instantiating any control in a Control Add-in
My two last blog posts tackled two aspects of working with control add-ins: making any property or method accessible to C/AL, and making any event accessible to C/AL The first was a simple trick, the second was a bit more complex.
-
Trick: Subscribing to any Control Add-in event through pure C/AL
So, it worked. I found just enough spare time to try out the crazy idea I mentioned in the last post. It’s about control add-ins and events. In the last post I gave a tip about exposing the actual control as a property decorated with ApplicationVisible, which allowed you to directly access all properties and methods of the control.
-
Tip: Interacting with the actual .NET Control Add-in controls
The control add-in framework in NAV 2013 is great, because apart from allowing you to put a custom Windows Forms control on the page, it also allows you to interact with it through properties, methods, and events. In my classes I typically create a custom text box control that exposes a property to set the background color on the text box.
-
Drag and Drop File Upload for Microsoft Dynamics NAV 2013 R2
Yesterday evening I spoke at Dutch Dynamics Community event , on invitation by my dear friend Luc van Vugt , and the topic was control add-ins for NAV 2013 R2. Of course, this automatically meant that the audience should see more JavaScript code than C# or C/AL, and that it should be something both fancy and useful.
-
DotNet Quick Tip: Accessing members with invalid names
A friend asked my by e-mail today about a problem he encountered with DotNet interop: how to access a property of an object, if the property name matches a reserved word in NAV. A simplest example is from the Microsoft.Dynamics.Nav.SMTP.SmtpMessage class that comes bundled with NAV 2013.
-
.NET Tips & Tricks: Mediator Pattern (on steroids)
When I was writing my last post I had a distinct feeling that I was trampling over some boundaries of good NAV design. After all, you should not do stuff like that, NAV isn’t meant to do things like that, or at least that was how I felt. And then two things happened. First, I asked myself: what the heck, why not?
-
.NET Tips & Tricks: Dispatcher
There are situations when you want to exchange data between different objects in NAV, and there is no simple way to do it. One of those, that a friend stumbled upon a couple of days ago goes like this: you have a page which shows a subpage, that is linked to a factbox.