Sunday, March 9, 2008

OLE_Controller Monitor

Have you ever written Magik functionality that uses OLE/COM and wondered if you are sending :release_object() to all the ole_controller objects? Wonder no longer. Have a look at the ole_controller_monitor class I created recently.

This class allows you to start/stop/reset monitoring on the ole_controller class and report to you how many un-released ole_controller objects still exist in your monitored environment.

This is a great help in cleaning up OLE-based reports (eg., Excel, Visio, Word) and preventing the eventual OLE/memory-related errors that force a user to restart their Magik session.

API and steps to use the class are included in the file header.

Tuesday, March 4, 2008

Smallworld FME 4.1 Interface takes data Back to the Future

I had a colleague point out to me yesterday that if you are using the Smallworld FME interface for CST 4.1 you need to verify that your date (and date_time I suppose) attributes are being exported correctly. After further analysis both I and he discovered that dates prior to 01Jan1970 and after 07Feb2106 will not be copied across correctly. The 07Feb2106 threshold may not be problematic for most Smallworld users but the 01Jan1970 threshold definitely is.

For example, if you have an "installed date" attribute of 04Dec1969 and you extracted it using the Smallworld FME 4.1 interface you would notice that FME recognizes it as 10Jan2106. So your feature ends up going back to the future but your users of the exported data come back to you.

I have raised a case with GE Help Desk on this issue and they are looking into it.

(I have not tested this on the Smallworld FME interface for CST 4.0.)