Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 24/01/2008 at 03:08, xxxxxxxx wrote:
User Information: Cinema 4D Version: R10.1 Platform: Language(s) : C++ ;
--------- Hello, Here is my problem : I'm tying to write a plugin object (objectData). All is normal, I put my compiled file in the plugin directory and that work. But if I want to write a second plugin, ID collides :
_<_img border="0" src= "http://ykoeth.free.fr/fc4d/console_id.jpg"_>_
The main.cpp of the plugin1 :
> _ > // Starts the plugin registration > > #include "c4d.h" > > > // forward declarations > Bool RegisterPlugin1(void); > > > Bool PluginStart(void) > { > > if (!RegisterPlugin1()) return FALSE; > return TRUE; > } > > void PluginEnd(void) > { > } > > Bool PluginMessage(LONG id, void *data) > { > //use the following lines to set a plugin priority > // > switch (id) > { > case C4DPL_INIT_SYS: > if (!resource.Init()) return FALSE; // don't start plugin without resource > return TRUE; > > case C4DMSG_PRIORITY: > return TRUE; > > } > > return FALSE; > } > > _
plugin1.cpp :
> _ > #include "c4d.h" > > class Plugin1 : public ObjectData > { > > public: > virtual Bool Init(GeListNode *node); > > virtual Bool Message (GeListNode *node, LONG type, void *data); > virtual BaseObject* GetVirtualObjects(BaseObject* op, HierarchyHelp* hh); > static NodeData *Alloc(void) { return gNew Plugin1; } > }; > > Bool Plugin1::Message(GeListNode *node, LONG type, void *data) > { > return TRUE; > } > > > Bool Plugin1::Init(GeListNode *node) > { > return TRUE; > } > > BaseObject* Plugin1::GetVirtualObjects(BaseObject* op, HierarchyHelp* hh) > { > > BaseObject *ret = NULL; > return ret; > } > // be sure to use a unique ID obtained from www.plugincafe.com > #define ID_PLUGIN1 1000004 > > Bool RegisterPlugin1(void) > { > return RegisterObjectPlugin(ID_PLUGIN1,"plugin1 name",OBJECT_GENERATOR,Plugin1::Alloc,"plugin1",NULL,0); > } > > _
The main.cpp of the plugin2 :
> _ > // Starts the plugin registration > > #include "c4d.h" > > > // forward declarations > Bool RegisterPlugin2(void); > > > Bool PluginStart(void) > { > > if (!RegisterPlugin2()) return FALSE; > return TRUE; > } > > void PluginEnd(void) > { > } > > Bool PluginMessage(LONG id, void *data) > { > //use the following lines to set a plugin priority > // > switch (id) > { > case C4DPL_INIT_SYS: > if (!resource.Init()) return FALSE; // don't start plugin without resource > return TRUE; > > case C4DMSG_PRIORITY: > return TRUE; > > } > > return FALSE; > } > > _
plugin2.cpp :
> _ > #include "c4d.h" > > class Plugin2 : public ObjectData > { > > public: > virtual Bool Init(GeListNode *node); > > virtual Bool Message (GeListNode *node, LONG type, void *data); > virtual BaseObject* GetVirtualObjects(BaseObject* op, HierarchyHelp* hh); > static NodeData *Alloc(void) { return gNew Plugin2; } > }; > > Bool Plugin2::Message(GeListNode *node, LONG type, void *data) > { > return TRUE; > } > > > Bool Plugin2::Init(GeListNode *node) > { > return TRUE; > } > > BaseObject* Plugin2::GetVirtualObjects(BaseObject* op, HierarchyHelp* hh) > { > > BaseObject *ret = NULL; > return ret; > } > // be sure to use a unique ID obtained from www.plugincafe.com > #define ID_PLUGIN2 1000006 > > Bool RegisterPlugin2(void) > { > return RegisterObjectPlugin(ID_PLUGIN2,"plugin2 name",OBJECT_GENERATOR,Plugin2::Alloc,"plugin2",NULL,0); > } > > _
I don't why because IDs are different. I hope somebody have the solution, Thank you.
On 24/01/2008 at 08:15, xxxxxxxx wrote:
Or if somebody can give me a file with the source code of a simple plugin (or two simples plugins) like mine but as you would have coded it. Thank
On 24/01/2008 at 08:27, xxxxxxxx wrote:
Sorry, I found alone. It was the products names which were the sames. The solution : Xcode>Project>Project Settings>Product name. Sorry for this inconvenience.