"Bill Schwab" <
[hidden email]> wrote in message
news:
[hidden email]...
> Hi Blair,
>
> After a longer pause that I'd have liked (sorry), I'm gearing up for
another
> run at registering and calling my test COM DLL. The famed/flaky NT4
machine
> is now running win2k (which will hopefully either fix the problems or
prove
> that it's hardware????) and it's also free of the Novell client (queue
loud
> sigh of relief) which my experience suggests is a good thing. Can you
give
> me a quick outline of how I should register the DLL on the target machine?
> It might help me spot either something that I'm doing wrong or maybe an
> assumption of yours that I've violated.
It should be sufficient just to regsvr32.exe the dll on the machine. However
the self-registration of the embedded type library is not working for some
reason that I have not looked into yet, and therefore it is necessary to
ensure that the typelib is registered explicitly. I have not had a great
deal of success registering .tlb files (although it is supposed to work), so
I would suggest attempting to open it with some devenv such as Dolphin or VB
which will definitely register it.
However, the Dolphin ActiveX DLL will only work with just a typelib
registration for marshalling if all the interfaces are automation compatible
(i.e. they must have the "oleautomation" attribute, implied by "dual"). If
this is not the case, then a separate marshalling DLL must be built from the
MIDL outputs using VC++ and registered.
I would suggest attempting to build, register and use the COMRandomStream
sample as a start point - I posted a .tlb for this previously (search for
"COM Random Stream Sample"). When/if you get that working, you can move on
to your own component with some success behind you.
Regards
Blair