THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 06/02/2004 at 03:56, xxxxxxxx wrote:
Cinema 4D Version: 8.207
Platform: Windows ;
Language(s) : C++ ;
I have two containers with description files. I want to include one conatiner into the other one, like you can do with cinema containers, like INCLUDE OBase, but in my case INLCUDE OMyOwnContainer.....Cinema reports an erron in the res file....is it possible to do this with RegisterDesciption, and how? Did try it, but I still get the same error, even if RegisterDesciption returned true.
On 06/02/2004 at 04:31, xxxxxxxx wrote:
Ah....in the register function of my plugin ( ID 1000006 ), I call
Bool test = RegisterDescription( 1000007, "OBaseObject" );
et voila....it works Is it ok this way, that I conly register a description but not a complete plugin to an id? The story behind it is, that we built alot of different objects with some common attributes....dont want to define them in every plugin but only once and use it again.
On 08/02/2004 at 08:19, xxxxxxxx wrote:
actually you shouldn´t need to use RegisterDescription if your Plugins do have a description flag in their Register function! I just tried it with two of my plugins and it´s working fine here if I include the description of one of them to the other.
How do your Register functions look like?
On 09/02/2004 at 01:27, xxxxxxxx wrote:
Of course they have.....but my constellation is a bit different to a normal plugin. I design object plugins, not only one, but many different ones, quite a big project. All of my different objects have some similarities, as well in functions as in theire container. So its obvious that the smartest way to do it is to derive a MyGeneralObjects class from ObjectData, put all the similarities into it, and then derive my plugins from that one. Works fine. But I also have similarities in the container, so I want to define a container and include this one into the containers of my plugins, like you do with Obase for example. And this container I have to register seperately! Of course my plugins do have a register function, but into that one I register the container of the plugin, which includes the container with the similarities.
My solution now: I provide all the similarities in a c4d class library. Within the register function of the lib, I also register my container But there occurs another problem, I'll write it into a seperate thread....
On 09/02/2004 at 05:05, xxxxxxxx wrote:
But I also have similarities in the container,
Sorry, but I don´t understand what you mean by "similarities"? Do you mean the same IDs? If so, why have you done so?
so I want to define a container and include this one into the containers of my plugins, like you do with Obase for example. And this container I have to register seperately!
But why? You can include the containers of all of your object plugins just like you include Obase. Just use INCLUDE Omyobjectplugin; This works just fine for me. No need to create additional code for this. Maybe I am misunderstanding you here.
On 09/02/2004 at 05:27, xxxxxxxx wrote:
Similarities: Attributes that all my objects have in common. All objects need coordinates...so include Obase. All my objects need myattributes....so include mycontainer containing myattributes...you know, the object orientated attempt.
Of course you can include the containers of your object plugins from each other...because when you register a object plugin, also its container is registered, this is needed to include a container. But I program just a super class with a super container I derive all my objects from. All the common stuff I pack in the super class/container, all the object specific stuff in the object plugins. The problem was, that this super thing is only used to derive my objects from, there is no instance of it, no register, nothing! But today I found the solution: class librarys....with them I can provide my super class as well as my super container.