Typelib marshalling BSTRs
Ove Kaaven
ovek at arcticnet.no
Sun Jul 20 06:57:41 CDT 2003
s?, 20.07.2003 kl. 13.38 skrev Mike Hearn:
> > Sorry for the late answer, I've been busy attending debconf3...
>
> Ah, no problem, I hope it was good :)
Not bad.
> > IDispatch should not be marshalled by the typelib marshaller, the method
> > arguments it use cannot be represented by a typelib, as you've seen. The
> > MIDL code in oaidl_p.c must be used instead. You need to change the
> > registry to use the right marshaller, I think the necessary
> > winedefault.reg changes were included in my patch, but I'm not sure.
>
> There were some changes yes, it seems for some reason they are not being
> used. I will double check. I probably simply forgot to remerge the
> default registry, thinking about it. My mind wasn't very clear on
> anything by friday :)
I've mentioned before the InstallShield hack in typelib.c (the "if (1 ||
...)"), right? I suspect that you *must* disable it. or it'll probably
keep reinstalling the wrong marshaller into the registry every time you
run it.
> In Delphi/Object Pascal passing an array like that would perform a copy
> by value, not pass the address. I (wrongly) assumed C would have similar
> rules. This is what I get for learning it as I go :)
Hmm, OK.
More information about the wine-devel
mailing list