10 Dec 2004

Createing threads for a windows form

I am wrining a program that has lenghtly process which si casing my UI to freeze. I now how to the solve the probelm which is create thread and let it do the processing. Now this new ground for me so I went looking for some explames on how to this and I found this link CodeGuru: Maintaining a Responsive UI, which I found easy to follow, that explains about UI thread and some of the probelms that can happen.

6 Dec 2004

DTS Custom Tasks written .Net

After writing some custom task in VB6 for a client thought it would be better if they were in .Net. So after some research finding that it can be done I start re-writing them for .Net. I started running into some issues:

  • Could not register custom task within the DTS client. This because Regasm does not expose the DLL entry point for DllRegisterServer, to solve this I had to write some extra code that will register the task in DTS.
  • The task then could not be use within DTS. This was because the default create interface was incorrect by the fact there was read-only function which dts does not like, I had disable the creation of default interface and write my own version.
  • The global variables not working after the .Net custom component set the values. This was some quirk between .Net and DTS as soon as try setting the value through the objects properties The activex script task and other tasks could not access the global variable. I mange to solve this deleting the Global variable and recreating it.
The main problem that can't be resolve is when running the these custom task there is a possible error that could happen (more so on a mutli-processor server) is the Virtual Runtime Error. The runtime error I was gettting was trying to call a function form object that no longer exist; this happens because between .Net and DTS the ownership of the object is losted and things get clear when they should not.