JScript and Exceptions

So, one of the disadvantages of JScripts is the lack of visibility when it comes to exceptions – it can make troubleshooting frustratingly difficult. It is especially challenging when you are so used to the richness of the .Net exceptions.

I was recently working on a project where I got the wonderful Examine the InnerException for details, the only problem being that there is no InnerException property or field on the JScript exception.

If we do a GetType() on our exception object we see that it is an ErrorObject class
http://msdn.microsoft.com/en-us/library/microsoft.jscript.errorobject(v=vs.110).aspx

and not inherited from System.Exception.

After some investigation, I came across this post:
http://blogs.msdn.com/b/heaths/archive/2005/09/20/471908.aspx
which nicely explains what happens and how to extract the .Net exception to get more detail.

In a nutshell, we test to ensure that our exception object is an ErrorObject using the instanceof command and then we use the static operator Explicit from the ErrorObject to convert it to an Exception.

Posted in Development, M3 / MoveX, Misc | Leave a comment

Statusbar, Windows, and Centering a Child Window

I have a project that I am working on where a popup window will appear asking for some parameters and then it will kick off a process which may take a while to return. The information on creating a new window, and centering it isn’t readily available, so I thought I’d do a posting on some of the testing code that I have written which will end up added to the project.

Continue reading

Posted in Development, M3 / MoveX | 3 Comments

The Blight that is the ComboBox – Binding and My Common Mistakes

There is a nasty sore, a diseased abomination that is the blight of WPF, yes, it is the ComboBox. It is my nemesis and will fight me at each turn, it fiercely beating me off as I struggle to coerce it in to working with my thought patterns.

Out of .Net and the WPF framework, the ComboBox is the only control that I have to work with that really just defies my expectations…continuously.

Its behaviour seems inconsistent and outright frustrating at times – who am I kidding – frustrating all the time. DisplayMemberPath, why oh why?

Now someone at Microsoft no doubt put a lot of effort in to it was probably pretty proud of the ComboBox – it is a staple of UI design and I’m sure they nailed it perfectly and it is a pretty kewl control. However it just doesn’t interface well with…well…me.

This becomes even more notable when using JScripts.

Some of you may have a brain <-> ComboBox compatible interface – if so, you’re lucky 🙂 I don’t, so this post is an attempt to get the behaviours clear in my own mind. To reinforce that when using a ComboBox I need to hold my tongue in a certain way.

Continue reading

Posted in Development, M3 / MoveX | 2 Comments

Where did that magical Canvas.xml go? …the search begins…

Things are pretty quiet at work at the moment. 18th of December sees the processing plant shutdown and then I start the clean up of machines and potential migration of our servers to a common platform and outsource the lot (from an IT perspective pretty exciting but pretty sad also).

This means that people are in wind-down mode, and it means that I am stuck with idle time whilst I wait for answers, pricing and decisions.

So dear reader, does that mean? Do I stare forlornly at the wall, do I work on my tan in front of the bank of monitors? No, it means I get in to trouble by looking for things that perhaps we really shouldn’t look for. I delve in to the deep and dark secrets…ok…ok…you get the idea… 🙂

Back in the old days (Smart Office 9.x I believe), we used to have a file called canvas.xml which we could copy to our users to easily give them a copy of someone elses shortcuts.

I believe that with Smart Office 10.x the Canvas.xml got sucked in to a super secret (only because I don’t specifically know where ;-)) location.
Continue reading

Posted in How Far is Too Far?, M3 / MoveX | 10 Comments

So Long and Thanks for All the Fish?

This post is a little more self-indulgent than usual and has 0 technical content – you have been warned 🙂

Continue reading

Posted in Uncategorized | 10 Comments

Building a M3 Lab Part 5 – Regional Modifications, fiddly stuff and things of note

This is a series of posts to build a M3 Lab from beginning to end so I get a better understanding of how all the components fit together. This is purely as a lab and doesn’t do any tuning and may even miss some version requirements.

In this section I’ll touch on the Regional Modifications, creating the autojobs and some interesting things I’ve discovered.

Because there is a lot in the way of screenshots (these would have been invaluable as I was following the install guides!), I’m going to break this up in to 5 posts:

 

Almost at the end of the journey now…
Continue reading

Posted in M3 / MoveX, Misc | 2 Comments

Building a M3 Lab Part 4 – Install Smart Office

This is a series of posts to build a M3 Lab from beginning to end so I get a better understanding of how all the components fit together. This is purely as a lab and doesn’t do any tuning and may even miss some version requirements.

Because there is a lot in the way of screenshots (these would have been invaluable as I was following the install guides!), I’m going to break this up in to 5 posts:

In this section I’ll run through the installation and general configuration of Smart Office itself. This shall include some of the supporting components needed within Smart Office.
Continue reading

Posted in M3 / MoveX, Misc | 1 Comment

Building a M3 Lab – Part 3 – Gridification and all the Extras

This is a series of posts to build a M3 Lab from beginning to end so I get a better understanding of how all the components fit together. This is purely as a lab and doesn’t do any tuning and may even miss some version requirements.

Because there is a lot in the way of screenshots (these would have been invaluable as I was following the install guides!), I’m going to break this up in to 5 posts:

In this section I’ll run through installing and configuring the Grid, Grid Extensions (LDAP Session Provider and GDBC), M3APIWS and of-course the M3 BE interface to the Grid.

Continue reading

Posted in M3 / MoveX, Misc | 1 Comment

Building a M3 Lab – Part 2 – It’s all about the Business Engine

This is a series of posts to build a M3 Lab from beginning to end so I get a better understanding of how all the components fit together. This is purely as a lab and doesn’t do any tuning and may even miss some version requirements.

Because there is a lot in the way of screenshots (these would have been invaluable as I was following the install guides!), I’m going to break this up in to 5 posts:

This part will see us install the M3 BE and create our environment.

Continue reading

Posted in M3 / MoveX, Misc | 4 Comments

Building a M3 Lab – Part 1 – Very Long

When I recently looked at upgrading Smart Office from version 10.0.5.x to 10.1.x I was rather concerned about a couple of the steps and really wanted to be able to test the install in a completely isolated environment. Unfortunately, at work I wasn’t going to be able to do so – I’d always be relying on either our DR AS400 or my production AS400. Neither situation is ideal.

So I had considered building my own test lab in an isolated environment. As it happens I have my very own HP DL380g4 sitting at home and have VMware ESXi 5.1 sitting on it – this server is what I tend to test upgrades of VMware, or our email system on amongst other things. A few months ago, I increased the ram on the unit from 14gig up to 50gig for the purpose of trying to build a M3 lab. It’s really quite amazing what sort of kit that you can purchase now at such a low price.

I had a chat to the NZ Infor Techy about running through an install from wo-to-go with me, however due to some proposed restructuring I came to the conclusion that I’ll be lucky alone get budget for something that could be considered rather frivolous.

But, me being me, I really wanted to see if I could do it and I was kinda interested to learn about how everything would hang together, de-mystifying M3 if you will. And of-course, the great thing about going it alone is that I would screw stuff up and then have to fix it – it may take longer but at least I get to make my mistakes and conclusions. And believe you me, there was definitely a lot of that.

First things first – this is a pure lab install, there is no tuning, there is no performance checking, nothing. It’s purely an exercise to learn about an M3 install, and ideally later use it to test procedures in updating various components without hosing one of my expensive work environments. There were several instances where I had to back-track, and some instances where I was a little too click-happy and skipped screenshots – I may have even skipped a step or two. I have also cleaned up this document from my 153 A4 pages of notes and screenshots – changing the order so it is a little easier to follow – so it is equally possible I have missed some steps – be prepared.

In total, there was the better part of 4-5 days working on getting this installed and running – some of that was due to getting distracted by TV or doing other work :-). I’d be fairly confident that I could reduce that significantly now that I have a better understanding.

Because there is a lot in the way of screenshots (these would have been invaluable as I was following the install guides!), I’m going to break this up in to 5 posts:

After which I had a pretty basic install against which I could test and run a few programs.
Continue reading

Posted in M3 / MoveX, Misc | 3 Comments