Re: unbuildable code generated for inheritance?



Michael said:

>Hi Bill,
>
>On Wed, 30 May 2001, Bill Haneman wrote:
>> I am attempting to use #pragma inhibit in order to derive an interface
>> from one that is defined in a separate idl file:
>
>	Sounds good, an example of how to do this is in the Bonobo IDL,
>essentialy you need to use:
>
>
>#if !defined(__CHILD_COMPILATION) && defined(__ORBIT_IDL__)
>%{
>#pragma include_defs parent.h
>%}
>#pragma inhibit push
>#endif
>
>IDL ...
>
>#if !defined(__CHILD_COMPILATION) && defined(__ORBIT_IDL__)
>#pragma inhibit pop
>#endif
>
>	It is best style to put this inside the Parent.idl in fact, since
>then the includer doesn't need to know the gory details of getting around
>the problem.

Hmm...

I cut-and-pasted your #ifdef/#pragma code above into Parent.idl (changing "parent.h" 
to "Parent.h", a typo I believe).

However the resulting Child.h still does not include Parent.h, nor does 
Child-common.c.  The upshot of this is that the POA_Foo_Parent__epv is still 
undefined in Child-common.c and the error is unchanged.

Perhaps I am misunderstanding your instructions?  Sorry to be dense.

I am using ORBit-martin-forked from about April 23.

-Bill

------
Bill Haneman x19279
Gnome Accessibility / Batik SVG Toolkit
Sun Microsystems Ireland 
#if !defined(__CHILD_COMPILATION) && defined(__ORBIT_IDL__)
%{
#pragma include_defs Parent.h
%}
#pragma inhibit push
#endif

module Foo 
{

  interface Parent {
	void Foo ();
  };

};

#if !defined(__CHILD_COMPILATION) && defined(__ORBIT_IDL__)
#pragma inhibit pop
#endif
#include "Parent.idl"

module Foo
{
  interface Child : Parent {
	void Bar ();
  };
};


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]