But when i see the generated header file. I see that there is the
expansion of interfaces defined in the foo.idl if we include it in
foobar.idl
eg: foobar.idl
#include "foo.idl"

For further reference see the msxml.idl in the PSDK headers.
it includes xmldom.idl and xmldso.idl, but in the msxml.h we see all
the declarations in xmldso.h and xmldom.h

I dont know they(M$) generate msxml.h from msxml.idl

On 8/29/06, Dan Hipschman <[EMAIL PROTECTED]> wrote:
On Tue, Aug 29, 2006 at 05:53:20PM -0400, Vijay Kiran Kamuju wrote:
> I am cleaning up msxml*.idl files.
> It seems that msxml.idl and msxml2.idl are incompatible.
> msxml.idl includes xmldso.idl and xmldom.idl (eg: include "xmldso.idl")
> where as msxml2.idl explicitly declares the interface defined by
> xmldso.idl and xmldom.idl.
> This is done so that we there would be no clashes beteen msxml2.0 and
> msxml3.0 implementation.
> As in msxml2.0 and msxml3.0 there were some GUID changes.
> Does MIDL put the expansion of the included idl file.
> ie, in a.idl we have a line include "b.idl"
> what i want ask is does a.h will contain all the contents of b.h(b.h
> is output when we run midl on b.idl) when we run midl on a.idl.
>
> I want to generalize the msxml implementation.

Sure, it runs a C-style preprocessor on it, so #include should work.
Just note that #include <foo.idl> will look for foo.idl in predefined
locations, while #include "foo.idl" will look in those and the current
directory.  You can add to the list of locations that #include <foo.idl>
will look with the usual "widl -I/dir1 -I/dir2 ..." syntax.



Reply via email to