COM inheritence

Robert Shearman rob at codeweavers.com
Tue Oct 12 12:48:56 CDT 2004


Ann and Jason Edmeades wrote:

>>Have a look at dlls/quartz/pin.h
>>I have emulated C++ style inheritance by creating a structure that is
>>included at the start of every derived implementation and then
>>constructing the vtable at compile time and linking to the base
>>functions. If you wanted to do the same for d3d{8,9} and wined3d you
>>would have to add each common function to the spec file.
>>    
>>
>
>I like the solutions of putting the structures in - thats a neat
>way of ensuring consistency...
>
>  
>
>>constructing the vtable at compile time and linking to the base functions.
>>    
>>
>
>However, I think the vtbl issue is different - Dont you get away with
>constructing the vtbl because all subclasses are in the same C part, or
>have I missed something?
>

They are all part of the same interface, yes.

>BTW I dont want to call cross shared library for inheritance, but I
>do want to call cross 'C' part in the same library, so hopefully
>shouldnt need to use the spec file.
>
>Any thoughts? If not, I'll go for forwarding functions - painful,
>but not the end of the world.
>  
>

Forwarding functions seem to be the only maintanable way of doing this.

Rob




More information about the wine-devel mailing list