Having a bitch of a day with ActiveX controls under Win32/WinCE. Do you have
any idea how stupid Microsoft's programmers must have been to come up
with a development strategy like this??
To create an ActiveX control for a pure Win32 environment, you fire up VC++
and write it. Done. No problem.
To create an ActiveX control for the WinCE environment, you have to:
Fire up Embedded Visual C++ and create the WinCE ActiveX control
Close Embedded Visual C++
Open Visual C++ (the desktop edition)
Create another ActiveX control with the same name and UUID (in a
different directory), but don't implement anything
Remove all the files except stdafx.cpp from the project
Save that and close Visual C++
Rename the project and workspace files you just created to
filename_win32.dsw and filename_win32.dsp
With Notepad, go and edit the .dsw file to point back to the correct
.dsp file. Still following? Good luck...
Copy the updated .dsw and .dsp files into the WinCE ActiveX control's
Open up the .dsw file you've just moved into the WinCE control's source
Use a bunch of #ifdef ... #endif statements to comment out
your WinCE source so it doesn't break the Win32 compiler
Try to compile the thing for Win32.
Try again to compile the thing for Win32, after fixing the first batch
Now try to register the bloody thing using regsvr32.exe and much
Fix more stuff-ups created by the code being written for the wrong
machine (remember, the Win32 environment supports ANSI natively and Unicode
under duress; WinCE only supports Unicode).
This is getting stupid...
Now, you have to use the version of the control you just compiled
for the desktop and emulation environments, and the WinCE version that you
compiled in the first place for the WinCE environment.
Oh, but you need both if you're developing on a desktop, which - wait! -
everyone has to do. And since the UUIDs are identical, this is getting
I'm heartily sick and tired of this already, and I've only really spent two
days on it. And it still doesn't work. Anyone want to write some Embedded
VC++ code? Take my advice, and go do something simple, mindless and happy -
otherwise you'll end up simple, mindless and very, very disturbed.
Australian Open woes: Andre Agassi is out, injured; Lleyton Hewitt is out
first round; the Scud is still recovering from a knee injury and probably
won't go all that well - this is all going to make the men's competition
Mr Williams is also out - injured - so the women's singles should be pretty
safe for Hingis...