From: JPB on
Hi Olaf,

On Feb 22, 5:37 pm, "Schmidt" <s...(a)online.de> wrote:
> Um, sounds familiar to me <g> - because that is
> an Error which is originated (and thrown) from
> within DirectCOM.dll.
> (indirectly, over the GetInstanceLastError-Call)

Ah! I originally thought that it looked like a dhRichClient3 error
message, but then the code was failing on a standard New keyword line,
so that threw me off ;)

As it turns out, the error was happening further "up the chain" in a
compiled DLL that was using Regfree (since I do the usual RunningInIde
check to switch between standard-reg and dhRichClient3 regfree
depending on the IDE status).

> And the reason for this error is probably, because...
> erhm - maybe someone has introduced Public
> UDTs into the interfaces of the Dll-Class which
> needs to get instantiated regfree.

And of course, you have diagnosed it correctly - I just added a public
LOGFONT structure to one of my classes.

> In short, this is the only shortcoming compared
> to the alternative, manifest-based regfree-approach.

This is a shortcoming that I am certainly willing to accept!

> So please take another look (with the above in mind) -
> and if there *are* Class-Public-UDTs indeed, then just
> ask, if you are badly in need for them - I'm sure we
> can come up with a performant enough workaround -
> but maybe it's not that critical and you find a "cheap"
> alternative, based on simple Types (Variants, Strings,
> Arrays of BaseTypes - or Even ClassType-parameters).

I was just being a bit lazy, I can certainly encapsulate the LOGFONT
stuff in a class, or just restructure the way I was doing things.

Thank you very much for the help, I was starting to pull my hair out
(what little I have left)!

Jason