ID:157507
 
1) Library A declares a datum called A.
2) Library B declares a derivative of datum A, called B.
3) Library C declares another derivative of datum A, called C.
4) A project includes libraries B and C.

How do I merge B and C into a single datum inside the project?

I've tried adjusting the parent types.
C
parent_type = /B

project
parent_type = /C


However, I'm getting compilation errors stating that the procs declared in library B don't exist in the project datum. It appears my change to C's parent type is being ignored.
Are the procs being called in project A, from library B created from /B, or created from /A and modified through /B? Also, did you change the parent_type in library C or in project A?
What do you mean, 'merge them into a single datum'?

Have you considered just having a seperate datum, D, that just has a B and a C, and uses them as necessary?
In response to Ulterior Motives
The derivative datum in library B both modifies procs from its parent, datum A, and declares its own procs.

I changed the parent_types in the project.
In response to Jp
Naturally, but I want something that is-an A with various modifications. Datum A tracks important information that datums B and C count on having. It's not a has-a relationship.

Thank you for trying to provide an alternative, but my particular project is fine. I just copied library C into it and changed the parent_type for normal inheritance.

What I'm looking for is a way to make multiple libraries containing derivatives of a datum useful when included in the same project. I was under the impression that parent_type solves the complications of multiple inheritance by allowing developers to define linear inheritance based on their project's needs. However, it does not appear to work across libraries.