Re: OB 4.2.0: Shooting <winsock.h> trouble...

Martin Simmons <[email protected]>
Newsgroups gmane.comp.corba.orbacus
Message-ID <[email protected]>
>>>>> On Fri, 17 Sep 2004 13:06:27 -0230, Dion Picco <[email protected]> said:

  Dion> On Fri, Sep 17, 2004 at 03:15:26PM +0100, Martin Simmons wrote:
  >> >>>>> On Fri, 17 Sep 2004 10:15:39 -0230, Dion Picco <[email protected]> said:
  >> 
  Dion> On Fri, Sep 17, 2004 at 02:44:33PM +0200, André Borrmann wrote:
  >> >> 
  >> >> Hello OB Users,
  >> >> 
  >> >> I'm using Orbacus on Windows (VC7) and recently update 
  >> >> from version 4.1.3 to
  >> >> 4.2.0. The Orbacus developers have choosen to use <winsock2.h> instead of
  >> >> <winsock.h>, as you can see in OB/Net.h and OB/WinConfig.h. 
  >> >> This can produce some trouble if you use another library which 
  >> >> includes <winsock.h>, as it was in my case. You can walk around this 
  >> >> problem if you rearrange the order of includes in your own files: 
  >> >> the orbacus-includes first, the others afterwards...
  >> >> 
  >> >> Regards,
  >> >> 
  >> >> André
  >> 
  Dion> Thanks for the tip.  We've had other people have similar problems with
  Dion> other include files as well.  I think the best practice to keep 
  Dion> in mind is to include the Orbacus headers first as a rule.  
  Dion> There may be exceptions to this but usually this works out good.
  >> 
  >> I'm puzzled about why the user-level Orbacus headers include winsock at all.
  >> The implementation of the socket layer in Orbacus would clearly need it, but
  >> surely the CORBA code that users write doesn't?
  >> 
  >> __Martin

  Dion> Well, there are a couple of things to consider here:

  Dion> 1. For basic Orbacus user-level headers you're right - winsock2
  Dion> shouldn't be included directly.  I suspect a dependency is hanging
  Dion> around here somewhere and when I get the time I will try to figure out
  Dion> where exactly.  I suspect something is including Net.h which is
  Dion> including something else which is including... you get the idea. ;)

Thanks, I thought that would be a likely reason.


  Dion> 2. As a sourcecode product, we really can't make assumptions as to which
  Dion> headers people will include.  People are free to include anything and
  Dion> cast classes around to whatever they like.  Such a case as this will be 
  Dion> impossible for us to guard against the inclusion of system headers.

Ah, right...even bug-free software allows users to make their own mess :-)

__Martin
_______________________________________________
OB-Users Mailing List - [email protected]
http://mail.ooc.nf.ca/mailman/listinfo/ob-users
Visit our support FAQ before you send a message.
http://www.orbacus.com/faq/support.html
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.