Re: oleidl.idl must include windows.h and ole2.h if COM_NO_WINDOWS_H is not defined.

2006-10-24 Thread Francois Gouget
On Thu, 19 Oct 2006, Robert Shearman wrote:
[...]
 Is there any pattern to those that are missing it?

I have not found it yet.


 I would only expect to see the COM_NO_WINDOWS_H stuff in headers generated
 from IDL files with at least one interface with the object keyword.

Ah, you must know more than me as I had no particular expectations.
There are some counter-examples:
 * Bits.h contains the COM_NO_WINDOWS section, but there is no object 
keyword in Bits.Idl.
 * Dimm.h contains no COM_NO_WINDOWS section, but there are object 
keywords in Dimm.Idl (but in a library section, maybe that makes a 
difference).

Counter example to the object keywords inside a 'library' don't count 
hypothesis: SspsIdl.Idl.


Maybe this has to do with what a given Idl file #imports? (which would 
make testing harder :-( )

Or maybe the headers that lack the COM_NO_WINDOWS section have been 
manually edited by MS after being generated by midl?

-- 
Francois Gouget [EMAIL PROTECTED]  http://fgouget.free.fr/
  Hiroshima '45 - Czernobyl '86 - Windows '95





Re: oleidl.idl must include windows.h and ole2.h if COM_NO_WINDOWS_H is not defined.

2006-10-19 Thread Francois Gouget
On Thu, 19 Oct 2006, Robert Shearman wrote:
[...]
  Actually, in the PSDK there seems to be a correlation between
  COM_NO_WINDOWS_H and idl files. It's not 100% but that may be just be
  because they don't ship all the idl files. Also, the COM_NO_WINDOWS_H #ifdef
  is not present in the idl file, suggesting that it is being added by midl.
 
 Yes, this is correct.

Hmm, there must still be something more: for instance amvideo.h and 
wtypes.h are midl generated and yet they don't have this 
COM_NO_WINDOWS_H stuff.

Still, the 2003SP2 SDK has 231 header files generated from an Idl file, 
and only 44 of those are missing the COM_NO_WINDOWS_H section so it's a 
good first approximation. Could it depend on the imported idl files?

-- 
Francois Gouget [EMAIL PROTECTED]  http://fgouget.free.fr/
  Computers are like airconditioners
They stop working properly if you open WINDOWS




Re: oleidl.idl must include windows.h and ole2.h if COM_NO_WINDOWS_H is not defined.

2006-10-19 Thread Robert Shearman

Francois Gouget wrote:

On Thu, 19 Oct 2006, Robert Shearman wrote:
[...]
  

Actually, in the PSDK there seems to be a correlation between
COM_NO_WINDOWS_H and idl files. It's not 100% but that may be just be
because they don't ship all the idl files. Also, the COM_NO_WINDOWS_H #ifdef
is not present in the idl file, suggesting that it is being added by midl.
  

Yes, this is correct.



Hmm, there must still be something more: for instance amvideo.h and 
wtypes.h are midl generated and yet they don't have this 
COM_NO_WINDOWS_H stuff.


Still, the 2003SP2 SDK has 231 header files generated from an Idl file, 
and only 44 of those are missing the COM_NO_WINDOWS_H section so it's a 
good first approximation. Could it depend on the imported idl files?


Is there any pattern to those that are missing it?

I would only expect to see the COM_NO_WINDOWS_H stuff in headers 
generated from IDL files with at least one interface with the object 
keyword.


--
Rob Shearman





Re: oleidl.idl must include windows.h and ole2.h if COM_NO_WINDOWS_H is not defined.

2006-10-18 Thread Alexandre Julliard
Francois Gouget [EMAIL PROTECTED] writes:

  2) Or modify these sections so they read:

 #if !defined(COM_NO_WINDOWS_H)  !defined(__WINESRC__)
 # include windows.h
 # include ole2.h
 #endif

I think we want that, otherwise we'll end up having to add
COM_NO_WINDOWS_H to pretty much every single source file.

-- 
Alexandre Julliard
[EMAIL PROTECTED]




Re: oleidl.idl must include windows.h and ole2.h if COM_NO_WINDOWS_H is not defined.

2006-10-18 Thread Robert Shearman

Francois Gouget wrote:

On Wed, 18 Oct 2006, Alexandre Julliard wrote:

  

Francois Gouget [EMAIL PROTECTED] writes:



 2) Or modify these sections so they read:

#if !defined(COM_NO_WINDOWS_H)  !defined(__WINESRC__)
# include windows.h
# include ole2.h
#endif
  

I think we want that, otherwise we'll end up having to add
COM_NO_WINDOWS_H to pretty much every single source file.



Actually, in the PSDK there seems to be a correlation between 
COM_NO_WINDOWS_H and idl files. It's not 100% but that may be just be 
because they don't ship all the idl files. Also, the COM_NO_WINDOWS_H 
#ifdef is not present in the idl file, suggesting that it is being added 
by midl.


Yes, this is correct.

--
Rob Shearman