On Apr 28, 1:38=A0pm, ArarghMail804NOS...@[EMAIL PROTECTED]
wrote:
> I presume that the %'s refer to 32-bit things, not 16-bit.
> I also presume that the "get_Width" entry point is 24 bytes past
> "IPicture" or thereabouts.
Yes, correct on both counts.
> BTW, what does =A0
> =A0 =A0 =A0 =A0 !(^IPicture{}+4) =3D !gpPicture% =A0
> mean?
The ! is equivalent to C's * (indirection) operator, and ^ is
equivalent to C's & (address-of) operator. What it is doing is
modifying the address of the IPicture structure, so that instead of
pointing to memory allocated by BASIC it's pointing to the COM
interface's Vtable. It's really only a cheat that allows you to use
IPicture.get_Width rather than IPicture!24, so not fundamental to
accessing the COM interface.
Richard.
http://www.rtrussell.co.uk/
To reply by email change 'news' to my forename.


|