Wednesday, 7 November 2007

Hosting ActiveX Controls in MFC

In building a win32 host for the flash player I had found this article:

The article is somewhat out of date as it applies to Visual Studio 6.0 but the steps are still the same. The old class wizard works differently now and the default project doesn't automatically make the connection between the dialog template and the subclass. I have to add a new class from the dialog editor before it made the connection.

Once you have a connection to a subclass you can add a variable for your Active-X control and everything just works after that.

Tuesday, 8 May 2007

The project file ' ' has been renamed or is no longer in the solution

Had this problem today with Visual Studio 2005. When you try and build, all you get is the following error message:

Luckily, I found this which solved the problem for me. Thanks Michiel!

Specifically, the error was caused by running NetTiers and specifying not to generate the web library. It still seems to generate the website project which recerences the non-existent web library.

Sunday, 6 May 2007

Smart Client Software Factory

I wanted to get started with the smart client software factory so I downloaded the installer and tried to install it. It turns out you need to install the GAX (Guidence Automation Extensions) first.

The version of the GAX installer I downloaded was the Feb 2007 CTP. Then I installed the smart client software factory June 2006. It turns out you can't install it until you have both the Composite UI Application block and the enterprise library installed.

Ok, so back to downloading again. Got hold of the enterprise library 3.0 Arpil 2007 and the Composite UI application block. The enterprise library took longer than I would have expected to install, but anyway, here we go again! Third time lucky on installing the smart client factory.

Or, it probably would have been easier if I'd just read this in the first place, but hey, you got to live a little :)

Tuesday, 1 May 2007

Blogs Everywhere

Oh my god! The world has gone crazy with MySpace type auto-sites and blogging machines online. I've just done some catching up and discovered some cool and some not so cool stuff that is around.

First of all, is very cool. I've been looking for some way to manage my growing list of favourites and this is it (for now). My favs are here: jason.the.mason (

Next, windows live pages are pretty cool. I just went and created two (god knows why). Here they are: golden.fleece (Windows Live) and net.side.out (Windows Live).

I had to have a look at MySpace so I went and created a space there too:
net.side.out (MySpace).

I feel a bit guitly for creating stuff I'm never going to use but hey - you never know!

Tuesday, 17 April 2007

COM Interop

One of the darker areas of the dotnet framework (for me) has been COM interop. Somehow you flag an assembly as COM visible and hey presto - you can instantiate your classes and invoke your methods from a COM host.

Recently I had a problem where a VB6 host was calling into a C#(dotnet1.1) assembly. Everything worked fine on the machine it was built on but things stopped working when it was deployed to other machines. Something was clearly wrong with the registration or location of the dotnet assembly.

I found a good article by Phil Wilson that helped me solve the problem. Best practice is to explicitly declare an interface and the GUID's used to register your class. The article is here.

Hello, World

Hello blogland!
Ok, so now what?